-
Notifications
You must be signed in to change notification settings - Fork 638
KIKIMR-20009: fix race condition on blobs removing #1118
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
KIKIMR-20009: fix race condition on blobs removing #1118
Conversation
⚪
|
⚪
|
@@ -90,7 +90,8 @@ class IBlobManager { | |||
} | |||
|
|||
// Deletes the blob that was previously permanently saved |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems to me that comment relates to old DeleteBlob and we can write new comments for DeleteBlobOnExecute and DeleteBlobOnComplete (prefer) or remove old comment.
@@ -64,12 +64,12 @@ class TStorageAction { | |||
} | |||
} | |||
|
|||
void OnCompleteTxAfterAction(NColumnShard::TColumnShard& self) { | |||
void OnCompleteTxAfterAction(NColumnShard::TColumnShard& self, const bool success) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit:
I see that Ev->Get()->GetPutStatus() is passing result to success.
I suggest considering the possibility of naming the variable not success but specifying the success of which operation is expected here.
Changelog entry
split actions:
on execute we have to write into db only
on complete we have to write to memory storage
in other way we have problem in case execution not finished, but gc finished before and if binary killed in this time, we have problem with meta withno blobs
Changelog category
Additional information
...