Repository navigation
[Filestore] Move copy of fresh blocks to TFlushActor - #7467
antonmyagkov wants to merge 7 commits into
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.
|
acd1644 to
84cc23f
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.
|
84cc23f to
d7313b3
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: 279s): all tests PASSED for commit d7313b3.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 364s): all tests PASSED for commit d7313b3.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1528s): all tests PASSED for commit d7313b3.
|
d7313b3 to
7fefcd2
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.
|
7fefcd2 to
702213d
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: 279s): all tests PASSED for commit 702213d.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 332s): all tests PASSED for commit 702213d.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1491s): all tests PASSED for commit 702213d.
|
|
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.
|
|
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: 273s): all tests PASSED for commit b0136be.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 319s): all tests PASSED for commit b0136be.
🔴 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1535s): some tests FAILED for commit b0136be.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 965s): all tests PASSED for commit b0136be.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5460s) Test run completed, no test results found for commit b0136be. 🟢 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 5144s): all tests PASSED for commit b0136be.
|
|
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: 266s): all tests PASSED for commit e31a409.
🟢 linux-x86_64-relwithdebinfo target: cloud/disk_manager/ (test time: 314s): all tests PASSED for commit e31a409.
🟢 linux-x86_64-relwithdebinfo target: cloud/blockstore/ (test time: 1651s): all tests PASSED for commit e31a409.
|
|
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.
|
|
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.
|
|
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/filestore/ (test time: 7934s): some tests FAILED for commit f392ba1.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 33s): some tests FAILED for commit f392ba1.
🔴 linux-x86_64-relwithdebinfo target: cloud/filestore/ (test time: 19s): some tests FAILED for commit f392ba1.
|
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-release-ubsan have completed. Tip Planned checks for linux-x86_64-release-ubsan.
🟢 linux-x86_64-release-ubsan target: cloud/filestore/ (test time: 4681s): all tests PASSED for commit f392ba1.
|
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-release-tsan have completed. Tip Planned checks for linux-x86_64-release-tsan.
🔴 linux-x86_64-release-tsan target: cloud/filestore/ (test time: 5430s): some tests FAILED for commit f392ba1.
|
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-release-asan have completed. Tip Planned checks for linux-x86_64-release-asan.
🟢 linux-x86_64-release-asan target: cloud/filestore/ (test time: 4975s): all tests PASSED for commit f392ba1.
|
|
Note This is an automated comment that will be appended during run. Note All workloads for linux-x86_64-release-msan have completed. Tip Planned checks for linux-x86_64-release-msan.
🟢 linux-x86_64-release-msan target: cloud/filestore/ (test time: 4948s): all tests PASSED for commit f392ba1.
|
| //////////////////////////////////////////////////////////////////////////////// | ||
|
|
||
| void TMixedBlobBuilder::Accept(const TBlock& block, TStringBuf blockData) | ||
| void TMixedBlobBuilder::Accept(const TBlock& block, const TBlockDataHolder& blockData) |
|
|
||
| [[nodiscard]] TStringBuf GetBlockData() const | ||
| { | ||
| Y_DEBUG_ABORT_UNLESS(BlockBuffer); |
There was a problem hiding this comment.
Y_ABORT_UNLESS
because you will dereference null below anyway
| return inserted; | ||
| } | ||
|
|
||
| bool TFreshBlocks::AddBlock( |
There was a problem hiding this comment.
Let's add a comment that we use this when we need to write an unaligned tail at the end of the fresh block, or when tablet is restarted and fresh blocks are recovered from FreshBlocks local DB table
Let's emphasize that this function copies fresh block's data
| TString buffer; | ||
| buffer.reserve(blockSize); | ||
| buffer.append(blockData); | ||
| buffer.resize(blockSize, 0); |
There was a problem hiding this comment.
Let's add a comment that it fills the buffer with remaining zeroes
| const auto ok = GenerateBlobId( | ||
| commitId, | ||
| blob.BlobContent.size(), | ||
| blob.BlobContent.size() * GetBlockSize(), |
There was a problem hiding this comment.
Let's double check that we have no similar places in code
For example we can change BlobContent's type and observe compilation errors
| args.CommitId, | ||
| b, | ||
| args.Buffer->GetBlock(b - args.ByteRange.FirstAlignedBlock())); | ||
| {b - args.ByteRange.FirstAlignedBlock(), args.Buffer}); |
There was a problem hiding this comment.
Let's use a full type name here
issue: #7468
struct TBlockDataHolder { size_t BufferBlockIndex; IBlockBufferPtr BlockBuffer; }Also I removed allocator for fresh blocks, so it will not report statistics. However fresh blocks can be additionally allocated for unaligned tail and after tablet restart.