xiangfu0 commented on code in PR #19468:
URL: https://github.com/apache/pinot/pull/19468#discussion_r4091526080
##########
pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/RealtimeTableDataManager.java:
##########
@@ -542,7 +550,29 @@ private void doAddConsumingSegment(String segmentName)
return;
}
IndexLoadingConfig indexLoadingConfig = fetchIndexLoadingConfig();
- handleSegmentPreload(zkMetadata, indexLoadingConfig);
+ LLCSegmentName llcSegmentName = new LLCSegmentName(segmentName);
+ int partitionGroupId = llcSegmentName.getPartitionGroupId();
+ PartitionUpsertMetadataManager partitionUpsertMetadataManager;
+ PartitionDedupMetadataManager partitionDedupMetadataManager;
+ synchronized (_segmentDataManagerMap) {
Review Comment:
Follow-up after rebasing onto master (257a0e7): an independent trace of this
same-name recreation path found three more ways a stale consuming callback
could still act on the recreated table's segment, now closed in 34f2733a and
6690a1b — a constructor-failed segment no longer posts (or retries)
`segmentStoppedConsuming` once the table manager is shut down, the
CONSUMING→ONLINE transition holds a reference so shutdown cannot destroy the
mutable segment under the Helix thread's build, and the pauseless COMMITTING
download wait re-checks shutdown each iteration instead of holding the shared
segment lock until timeout. Each has a regression test that fails with its
guard removed.
_🤖 Addressed by [Claude Code](https://claude.com/claude-code)_
--
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]