Repository navigation
Conversation
|
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/tasks/,cloud/storage/ (test time: 262s): all tests PASSED for commit 58518c4.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 257s): all tests PASSED for commit 58518c4.
🔴 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1923s): some tests FAILED for commit 58518c4.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 122s): all tests PASSED for commit 58518c4.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4885s): some tests FAILED for commit 58518c4.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 62s): all tests PASSED for commit 58518c4.
|
58518c4 to
034c95e
Compare
|
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/tasks/,cloud/storage/ (test time: 255s): all tests PASSED for commit 034c95e.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 279s): all tests PASSED for commit 034c95e.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1522s): all tests PASSED for commit 034c95e.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5067s): some tests FAILED for commit 034c95e.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 56s): all tests PASSED for commit 034c95e.
|
034c95e to
d961043
Compare
|
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/disk_manager/ (test time: 254s): some tests FAILED for commit d961043.
🟢 linux-x86_64-relwithdebinfo target: cloud/tasks/,cloud/storage/ (test time: 257s): all tests PASSED for commit d961043.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 211s): all tests PASSED for commit d961043.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1324s): all tests PASSED for commit d961043.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4935s): all tests PASSED for commit d961043.
|
d961043 to
6649903
Compare
|
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/tasks/,cloud/storage/ (test time: 257s): all tests PASSED for commit 6649903.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 263s): all tests PASSED for commit 6649903.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1407s): all tests PASSED for commit 6649903.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4837s): all tests PASSED for commit 6649903.
|
6649903 to
9dd79ea
Compare
|
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/tasks/,cloud/storage/ (test time: 259s): all tests PASSED for commit 9dd79ea.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 254s): all tests PASSED for commit 9dd79ea.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1373s): all tests PASSED for commit 9dd79ea.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4776s): all tests PASSED for commit 9dd79ea.
|
9dd79ea to
918e018
Compare
|
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/tasks/,cloud/storage/ (test time: 263s): all tests PASSED for commit 918e018.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 279s): all tests PASSED for commit 918e018.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1347s): all tests PASSED for commit 918e018.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5000s): all tests PASSED for commit 918e018.
|
918e018 to
6794961
Compare
|
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/tasks/,cloud/storage/ (test time: 257s): all tests PASSED for commit 6794961.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 270s): all tests PASSED for commit 6794961.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1137s): all tests PASSED for commit 6794961.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4651s): all tests PASSED for commit 6794961.
|
6794961 to
7e2f409
Compare
|
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/disk_manager/ (test time: 36s): some tests FAILED for commit 7e2f409.
🔴 linux-x86_64-relwithdebinfo target: cloud/tasks/,cloud/storage/ (test time: 258s): some tests FAILED for commit 7e2f409.
🔴 linux-x86_64-relwithdebinfo target: cloud/tasks/,cloud/storage/ (test time: 11s): some tests FAILED for commit 7e2f409.
🔴 linux-x86_64-relwithdebinfo target: cloud/tasks/,cloud/storage/ (test time: 10s): some tests FAILED for commit 7e2f409.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 258s): all tests PASSED for commit 7e2f409.
🔴 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1240s): some tests FAILED for commit 7e2f409.
🔴 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 23s): some tests FAILED for commit 7e2f409.
🔴 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 13s): some tests FAILED for commit 7e2f409.
|
7e2f409 to
cb2203d
Compare
|
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/tasks/,cloud/storage/ (test time: 263s): all tests PASSED for commit cb2203d.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 290s): all tests PASSED for commit cb2203d.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1263s): all tests PASSED for commit cb2203d.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4792s): all tests PASSED for commit cb2203d.
|
cb2203d to
5cc96a1
Compare
|
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/tasks/,cloud/storage/ (test time: 258s): all tests PASSED for commit 5cc96a1.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 278s): all tests PASSED for commit 5cc96a1.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1610s): all tests PASSED for commit 5cc96a1.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5312s): some tests FAILED for commit 5cc96a1.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 399s): all tests PASSED for commit 5cc96a1.
|
There was a problem hiding this comment.
Pull request overview
This PR adds an operational tool for inspecting and patching filestore write-back cache state files, and refactors the underlying file ring buffer implementation by introducing an accessor/validator layer (including updated format capabilities and test coverage). It also drops support for the legacy V4 file ring buffer format and adjusts migrations/tests accordingly.
Changes:
- Introduced
TFileRingBufferAccessor/TFileMapFileRingBufferAccessorto centralize mapping + validation of file ring buffer state. - Added
filestore-write-back-cache-state-tool(list/check/dump/patch) plus supporting library/protos and unit tests. - Removed V4 format support from ring buffer format code and updated ring buffer migration behavior and tests.
Reviewed changes
Copilot reviewed 22 out of 28 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| cloud/storage/core/libs/file_backed_containers/ya.make | Adds new accessor source to the library build. |
| cloud/storage/core/libs/file_backed_containers/ut/ya.make | Adds new accessor unit test to the test build. |
| cloud/storage/core/libs/file_backed_containers/file_ring_buffer.cpp | Refactors ring buffer to use accessor; adjusts migration/validation paths. |
| cloud/storage/core/libs/file_backed_containers/file_ring_buffer_ut.cpp | Updates tests for removed V4 support and revised migration semantics. |
| cloud/storage/core/libs/file_backed_containers/file_ring_buffer_format.h | Removes V4 enum; adds atomic-processing capability flag. |
| cloud/storage/core/libs/file_backed_containers/file_ring_buffer_format.cpp | Removes V4 processor; wires new capability flag; updates supported versions. |
| cloud/storage/core/libs/file_backed_containers/file_ring_buffer_format_ut.cpp | Drops V4 from format test version matrix. |
| cloud/storage/core/libs/file_backed_containers/file_ring_buffer_accessor.h | New accessor API for raw data/header/processor/capabilities. |
| cloud/storage/core/libs/file_backed_containers/file_ring_buffer_accessor.cpp | New mapping/validation implementation for ring buffer files. |
| cloud/storage/core/libs/file_backed_containers/file_ring_buffer_accessor_ut.cpp | Unit tests for accessor validation behavior. |
| cloud/filestore/tools/ya.make | Registers the new ops tool subtree. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/ya.make | Adds ya.make for the new tool component. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/README.md | Documents tool usage, commands, options, and safety notes. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/protos/ya.make | Adds protobuf library target for tool data model. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/protos/write_back_cache_state_tool.proto | Defines dump/list models used for JSON I/O and patching. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/lib/ya.make | Adds tool library target (locator + processor). |
| cloud/filestore/tools/ops/write_back_cache_state_tool/lib/ut/ya.make | Adds unit test target for the tool library. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/lib/state_file_processor.h | Declares dump/patch operations over ring buffer accessor. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/lib/state_file_processor.cpp | Implements dump/patch logic and patch validation rules. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/lib/state_file_processor_ut.cpp | Unit tests for dump/patch behavior and safety checks. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/lib/state_file_locator.h | Locator interface for discovering state files. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/lib/state_file_locator.cpp | Implements directory traversal + lock probing + selection logic. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/bin/ya.make | Adds the tool binary build target. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/bin/options.h | Declares CLI options and command enum. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/bin/options.cpp | Parses CLI options and free-arg command. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/bin/main.cpp | Tool entrypoint with exception-to-stderr handling. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/bin/app.h | Declares AppMain. |
| cloud/filestore/tools/ops/write_back_cache_state_tool/bin/app.cpp | Implements command dispatch and file open/lock/map workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5cc96a162a
ℹ️ 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".
5cc96a1 to
837be59
Compare
|
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/tasks/,cloud/storage/ (test time: 260s): all tests PASSED for commit 837be59.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 287s): all tests PASSED for commit 837be59.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1645s): all tests PASSED for commit 837be59.
|
837be59 to
a9e64cf
Compare
a9e64cf to
437b4a1
Compare
|
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/tasks/,cloud/storage/ (test time: 267s): all tests PASSED for commit 437b4a1.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 292s): all tests PASSED for commit 437b4a1.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1643s): all tests PASSED for commit 437b4a1.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5003s): some tests FAILED for commit 437b4a1.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4550s): some tests FAILED for commit 437b4a1.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4492s): some tests FAILED for commit 437b4a1.
|
02b0951 to
bbbdff7
Compare
437b4a1 to
2e9368b
Compare
|
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/tasks/,cloud/storage/ (test time: 267s): all tests PASSED for commit 2e9368b.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 288s): all tests PASSED for commit 2e9368b.
|
2e9368b to
6f20f71
Compare
|
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/disk_manager/ (test time: 265s): all tests PASSED for commit 6f20f71.
🟢 linux-x86_64-relwithdebinfo target: cloud/tasks/,cloud/storage/ (test time: 265s): all tests PASSED for commit 6f20f71.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1591s): all tests PASSED for commit 6f20f71.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4824s): all tests PASSED for commit 6f20f71.
|
4cf7de0 to
e2b8753
Compare
### Notes Extracted from #6563 Introduce `TFileRingBufferAccessor` to access memory mapped file from `TFileRingBuffer`: - Extract common code that will be used in #6563; - Strengthen data validation and give verbose messages; - Replace `Y_ABORT_UNLESS` and throwing exceptions with `NProto::TError`. Also: - Fixed the test `TFileRingBufferTest::ShouldMigrate` when migrating to V6 (test was passed because validation was not complete). ### Issue #1751 #3781 --------- Co-authored-by: Andrei Nasonov <nasonov@nebius.com>
6f20f71 to
7977d7b
Compare
|
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/tasks/,cloud/storage/ (test time: 262s): all tests PASSED for commit 7977d7b.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 284s): all tests PASSED for commit 7977d7b.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1465s): all tests PASSED for commit 7977d7b.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4857s): all tests PASSED for commit 7977d7b.
|
7977d7b to
d98cf91
Compare
|
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/tasks/,cloud/storage/,cloud/fastshard/ (test time: 276s): all tests PASSED for commit d98cf91.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 321s): all tests PASSED for commit d98cf91.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 2058s): all tests PASSED for commit d98cf91.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4492s): all tests PASSED for commit d98cf91.
|
Implemented.
You are wrong, look at nbs/cloud/filestore/libs/vfs_fuse/loop.cpp Line 1038 in bf2b7d4
Added validation.
I disagree - I want to keep this as an error, not as a warning.
I refactored WriteBackCache in previous PRs and now reference it.
Added
Added
Added
Done
I'd keep requests with
Fixed.
Added
Fixed
|
Notes
Issue
#1751