Ashwani Raina has posted comments on this change. ( http://gerrit.cloudera.org:8080/24618 )
Change subject: KUDU-3734 Compaction budget refinements and observability ...................................................................... Patch Set 9: (1 comment) http://gerrit.cloudera.org:8080/#/c/24618/9/src/kudu/tablet/rowset_info.cc File src/kudu/tablet/rowset_info.cc: http://gerrit.cloudera.org:8080/#/c/24618/9/src/kudu/tablet/rowset_info.cc@475 PS9, Line 475: extra_->size_bytes = rs->OnDiskSize(); : extra_->has_bounds = rs->GetBounds(&extra_->min_key, &extra_->max_key).ok(); : // Compute the budget-weighted size for compaction knapsack accounting. : // OnDiskBaseDataSizeWithDeltas() returns the exact physical footprint : // (base + redo + undo). We apply --rowset_deltas_size_include_undo and : // --rowset_undo_deltas_budget_weight here so that the low-level accessor : // stays free of policy concerns. : uint64_t undo_bytes = rs->OnDiskUndoDeltasSize(); > Is there any theoretical chance that updates and delta compaction happens b Operations (like MajorDeltaCompactionOp, UndoDeltaBlockGCOp) that modify undo delta stores acquire 'compact_flush_lock_' for both rowset as well as delta stores. If a rowset is not available for compaction (i.e., IsAvailableForCompaction() fails), it will be skipped for RowSetInfo() construction. However, SplitKeyRange (which I believe is client-facing RPC) calls RowSetInfo() without acquiring any locks. A couple factors need to be true in order to hit an overflow - first being that new undo delta size (from delta store modifying operation) would have to really exceed the total base+delta sizes stored before and that too in a short-span of time. Chances of that are near-zero. Also, SplitKeyRange doesn't and has no use for 'base_and_deltas_size_mb_' today. Theoretically, it is not possible today. That being said, I don't mind adding a DCHECK to assert the fact that undo delta size should be less than base_and_deltas_size_bytes. -- To view, visit http://gerrit.cloudera.org:8080/24618 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Id63db0006c77ad1d55eb2119d99ee64499435819 Gerrit-Change-Number: 24618 Gerrit-PatchSet: 9 Gerrit-Owner: Ashwani Raina <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Ashwani Raina <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Marton Greber <[email protected]> Gerrit-Reviewer: Zoltan Martonka <[email protected]> Gerrit-Comment-Date: Fri, 11 Sep 2026 12:40:45 +0000 Gerrit-HasComments: Yes
