Skip to content

[NBS] Dont fire CleanupBlobMetaBlocksMismatch impossible event if leaked blocks has another blob id#6596

Open
vladstepanyuk wants to merge 1 commit into
mainfrom
users/vladstepanyuk/issue-6279/fix-cleanup-blob-meta-verify-logic/0
Open

[NBS] Dont fire CleanupBlobMetaBlocksMismatch impossible event if leaked blocks has another blob id#6596
vladstepanyuk wants to merge 1 commit into
mainfrom
users/vladstepanyuk/issue-6279/fix-cleanup-blob-meta-verify-logic/0

Conversation

@vladstepanyuk

Copy link
Copy Markdown
Collaborator

Notes

We can flush the same block multiple times when restarting a tablet, so while checking blob metas, we will find a block with the same commitId, but it belongs to a different blob. Therefore, we should not fire an imspl event in this case.

Issue

#6279

@vladstepanyuk vladstepanyuk added large-tests Launch large tests for PR blockstore Add this label to run only cloud/blockstore build and tests on PR rebase Add this label if you want to rebase your PR for test run labels Jul 24, 2026
@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Note

This is an automated comment that will be appended during run.

Note

All workloads for linux-x86_64-relwithdebinfo have completed.

Tip

Planned checks for linux-x86_64-relwithdebinfo.

🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 11899s): all tests PASSED for commit dfb28ce.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
7313 7312 0 0 0 1 0

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dfb28ce217

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +116 to +118
if (blobId != OriginalBlobId) {
return true;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep mismatched mixed-block keys out of original-meta cleanup

When this verifier is reached from cleanup, UseRecreatedBlobMeta is false because the recreated-meta path returns before verification, so PrepareCleanupTransaction still queues the original DB blob meta for deletion. In the duplicate-flush case this branch now treats a missing original block as safe when the same (blockIndex, commitId) key belongs to another blob, but ExecuteCleanupTransaction later deletes mixed blocks by (blockIndex, commitId) only via state.DeleteMixedBlock, so cleanup of the old blob will remove the other blob's live index entry. Please keep this as a mismatch or otherwise avoid deleting the original-meta block when the index row is owned by another blob.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blockstore Add this label to run only cloud/blockstore build and tests on PR large-tests Launch large tests for PR rebase Add this label if you want to rebase your PR for test run

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants