Skip to content

[NBS] Allow custom BlockDigestGenerator for volumes#6576

Open
sharpeye wants to merge 1 commit into
mainfrom
users/sharpeye/block-digest-factory
Open

[NBS] Allow custom BlockDigestGenerator for volumes#6576
sharpeye wants to merge 1 commit into
mainfrom
users/sharpeye/block-digest-factory

Conversation

@sharpeye

@sharpeye sharpeye commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Introduce IBlockDigestGeneratorFactory to allow volumes to use a BlockDigestGenerator created from their effective storage configuration.

Previously, the block digest generator was created once during service bootstrap and shared by all volumes. This prevented per-volume storage configuration overrides from affecting block digest generation.

This PR:

  • adds a default IBlockDigestGeneratorFactory implementation;
  • moves the existing generator selection logic into the factory;
  • propagates the factory through the storage service and volume session actors;
  • creates and updates the volume-specific digest generator using the volume's effective storage configuration;
  • preserves the existing behavior for disabled digests, the test generator, and the ext4 digest generator;
  • updates the affected tests and test environments.

@sharpeye sharpeye added large-tests Launch large tests for PR blockstore Add this label to run only cloud/blockstore build and tests on PR labels Jul 21, 2026
@github-actions

github-actions Bot commented Jul 21, 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.

@sharpeye
sharpeye force-pushed the users/sharpeye/block-digest-factory branch from c8a9db4 to b137ab8 Compare July 22, 2026 14:57
@github-actions

github-actions Bot commented Jul 22, 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: 11938s): all tests PASSED for commit b137ab8.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
7305 7304 0 0 0 1 0

@sharpeye
sharpeye force-pushed the users/sharpeye/block-digest-factory branch from b137ab8 to 8c5b418 Compare July 23, 2026 11:05
@github-actions

github-actions Bot commented Jul 23, 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: 11802s): all tests PASSED for commit 8c5b418.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
7305 7304 0 0 0 1 0

@sharpeye
sharpeye marked this pull request as ready for review July 23, 2026 15:03

@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: 8c5b418828

ℹ️ 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 thread cloud/blockstore/libs/storage/volume/volume_ut.cpp Outdated
yegorskii
yegorskii previously approved these changes Jul 24, 2026
@sharpeye
sharpeye force-pushed the users/sharpeye/block-digest-factory branch from 8c5b418 to 0504c48 Compare July 24, 2026 14:40
@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: 11812s): all tests PASSED for commit 0504c48.

TESTS PASSED ERRORS FAILED FAILED BUILD SKIPPED MUTED?
7305 7304 0 0 0 1 0

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants