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

Reply via email to