github-actions[bot] commented on code in PR #66389:
URL: https://github.com/apache/doris/pull/66389#discussion_r3704523842
##########
fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java:
##########
@@ -1628,12 +1641,15 @@ private void updateBeToTablets(long tabletId, long
srcBe, long destBe,
LOG.warn("tablet {} meta not found in inverted index, skip
updateBeToTablets", tabletId);
return;
}
- long tableId = tabletMeta.getTableId();
- long partId = tabletMeta.getPartitionId();
- long indexId = tabletMeta.getIndexId();
+ Long boxedTabletId = tabletId;
Review Comment:
[P2] Preserve the selected boxed ID through incremental moves
The selected `pickedTabletId` is the actual `Long` stored in the route set
(`reservoirPick` returns the iterated object), but `preheatAndUpdateTablet` and
`transferTablet` accept `long`, so it is unboxed before this line and boxed
anew. `transferTablet` calls this method separately for the current and future
indexes, retaining two equal but distinct tablet objects; warmup and rollback
replace only the future reference, breaking the sharing built by
`statRouteInfo` until the next rebuild. The new test cannot catch this because
it passes one `Long` directly to both boxed helper calls. Please keep the
selected `Long` through the incremental callers, reuse one boxed ID bundle for
both map families, and cover direct move plus warmup/revert with IDs above the
`Long` cache.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]