Skip to content

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

Merged

Conversation

ivanmorozov333
Copy link
Collaborator

@ivanmorozov333 ivanmorozov333 commented Jan 18, 2024

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

  • Bugfix

Additional information

...

Copy link

github-actions bot commented Jan 18, 2024

2024-01-18 09:51:31 UTC Pre-commit check for 51bb11b has started.
2024-01-18 09:51:34 UTC Build linux-x86_64-relwithdebinfo is running...
🟢 2024-01-18 09:56:28 UTC Build successful.
2024-01-18 09:56:43 UTC Tests are running...
🔴 2024-01-18 11:19:22 UTC Some tests failed, follow the links below.

Test history

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
59960 50725 0 2 9221 12

Copy link

github-actions bot commented Jan 18, 2024

2024-01-18 09:51:34 UTC Pre-commit check for 51bb11b has started.
2024-01-18 09:51:37 UTC Build linux-x86_64-release-asan is running...
🟢 2024-01-18 09:56:40 UTC Build successful.
2024-01-18 09:56:53 UTC Tests are running...
🔴 2024-01-18 11:25:17 UTC Some tests failed, follow the links below.

Test history

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
15890 15822 0 22 36 10

@@ -90,7 +90,8 @@ class IBlobManager {
}

// Deletes the blob that was previously permanently saved
Copy link
Contributor

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) {
Copy link
Contributor

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.

@k-morozov k-morozov self-requested a review January 18, 2024 12:06
@ivanmorozov333 ivanmorozov333 merged commit 680271e into ydb-platform:main Jan 18, 2024
@ivanmorozov333 ivanmorozov333 deleted the blobs_removing_race branch January 18, 2024 13:34
@niksaveliev niksaveliev mentioned this pull request Jan 29, 2024
@vitstn vitstn mentioned this pull request Jan 29, 2024
@starlinskiy starlinskiy mentioned this pull request Feb 12, 2024
@vitstn vitstn mentioned this pull request Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants