Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backport 5.2] repair: release resources of shard_repair_task_impl #15875

Closed
wants to merge 1 commit into from

Conversation

Deexie
Copy link
Contributor

@Deexie Deexie commented Oct 30, 2023

Before integration with task manager the state of one shard repair was kept in repair_info. repair_info object was destroyed immediately after shard repair was finished.

In an integration process repair_info's fields were moved to shard_repair_task_impl as the two served the similar purposes. Though, shard_repair_task_impl isn't immediately destoyed, but is kept in task manager for task_ttl seconds after it's complete. Thus, some of repair_info's fields have their lifetime prolonged, which makes the repair state change delayed.

Release shard_repair_task_impl resources immediately after shard repair is finished.

Fixes: #15505.
(cherry picked from commit 0474e15)

@Deexie Deexie requested review from denesb and removed request for tgrabiec and nyh October 30, 2023 11:20
@scylladb-promoter
Copy link
Contributor

@scylladb-promoter
Copy link
Contributor

@scylladb-promoter
Copy link
Contributor

@asias
Copy link
Contributor

asias commented Nov 6, 2023

@Deexie Next time, you can add the targeted backport branch in the subject. e.g., [Backport 5.2], to make it clear it is a backport PR.

@Deexie Deexie changed the title repair: release resources of shard_repair_task_impl [Backport 5.2] repair: release resources of shard_repair_task_impl Nov 6, 2023
Before integration with task manager the state of one shard repair
was kept in repair_info. repair_info object was destroyed immediately
after shard repair was finished.

In an integration process repair_info's fields were moved to
shard_repair_task_impl as the two served the similar purposes.
Though, shard_repair_task_impl isn't immediately destoyed, but is
kept in task manager for task_ttl seconds after it's complete.
Thus, some of repair_info's fields have their lifetime prolonged,
which makes the repair state change delayed.

Release shard_repair_task_impl resources immediately after shard
repair is finished.

Fixes: scylladb#15505.
(cherry picked from commit 0474e15)
@Deexie
Copy link
Contributor Author

Deexie commented Nov 6, 2023

  • rebase
  • call release_resouces on task (before it's started) instead of task::impl

@scylladb-promoter
Copy link
Contributor

denesb pushed a commit that referenced this pull request Nov 7, 2023
Before integration with task manager the state of one shard repair
was kept in repair_info. repair_info object was destroyed immediately
after shard repair was finished.

In an integration process repair_info's fields were moved to
shard_repair_task_impl as the two served the similar purposes.
Though, shard_repair_task_impl isn't immediately destoyed, but is
kept in task manager for task_ttl seconds after it's complete.
Thus, some of repair_info's fields have their lifetime prolonged,
which makes the repair state change delayed.

Release shard_repair_task_impl resources immediately after shard
repair is finished.

Fixes: #15505.
(cherry picked from commit 0474e15)

Closes #15875
@denesb
Copy link
Contributor

denesb commented Nov 7, 2023

Queued.

@mykaul
Copy link
Contributor

mykaul commented Dec 13, 2023

Can we close this ?

@denesb
Copy link
Contributor

denesb commented Dec 13, 2023

Can we close this ?

Yes, closing.

@denesb denesb closed this Dec 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants