Repository navigation
[Filestore] [4/N] Persist shard creation progress across throttled create and resize retries - #7253
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: 271s): all tests PASSED for commit ff09111.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 324s): all tests PASSED for commit ff09111.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1412s): all tests PASSED for commit ff09111.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4451s): all tests PASSED for commit ff09111.
|
ff09111 to
704d3fd
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: 281s): all tests PASSED for commit 704d3fd.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 320s): all tests PASSED for commit 704d3fd.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1630s): all tests PASSED for commit 704d3fd.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 4835s): all tests PASSED for commit 704d3fd.
|
704d3fd to
b81a239
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: 274s): all tests PASSED for commit b81a239.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 315s): all tests PASSED for commit b81a239.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1487s): all tests PASSED for commit b81a239.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5257s): some tests FAILED for commit b81a239.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 33s): all tests PASSED for commit b81a239.
|
b81a239 to
fc5c35d
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 fc5c35d.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 329s): all tests PASSED for commit fc5c35d.
🔴 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1283s): some tests FAILED for commit fc5c35d.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1112s): all tests PASSED for commit fc5c35d.
🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5307s): all tests PASSED for commit fc5c35d.
|
fc5c35d to
13edc78
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: 304s): all tests PASSED for commit 13edc78.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1498s): all tests PASSED for commit 13edc78.
🟢 linux-x86_64-relwithdebinfo target: cloud/tasks/,cloud/storage/,cloud/fastshard/ (test time: 270s): all tests PASSED for commit 13edc78.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5460s) Test run completed, no test results found for commit 13edc78. 🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5087s): all tests PASSED for commit 13edc78.
|
|
|
||
| namespace { | ||
|
|
||
| ui64 GetChunkDataSize(const NCloud::NProto::TCompressedBitmapData& bitmap) |
There was a problem hiding this comment.
Can we put it to some reusable place?
| // Compress ShardId and ShardNodeName when we write them to NodeRefs table. | ||
| optional bool CompressNodeRef = 3; | ||
|
|
||
| // Update shard creation state during large operations. |
There was a problem hiding this comment.
Let's explain what is meant by "large"
Notes
Implement persistent shard creation state integration for throttled filestore create/resize flows.
The PR extends
UnsafeChangeTabletStateso the main tablet can store and return CAS-protected shard creation state, preserves this state acrossUpdateConfig, and trims tablet logs so bitmap payloads are not dumped atINFO.Create and resize actors now read the persisted state before shard creation, skip shards already recorded as physically created, persist newly created shard bits before shard configuration, merge and resend state after CAS conflicts, fall back to the legacy throttled flow for old tablets that do not return
ShardCreationState, and fail retryably if state updates fail.The PR also adds service-level coverage for create/resize retry recovery, skip-all retry configuration, state update errors, CAS conflict resend, old-tablet fallback, and an e2e resize retry/restart scenario.
Stack