liuchang0520 commented on a change in pull request #6778: URL: https://github.com/apache/incubator-pinot/pull/6778#discussion_r655899969
########## File path: pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java ########## @@ -135,9 +158,20 @@ private final Lock[] _idealStateUpdateLocks; private final TableConfigCache _tableConfigCache; private final FlushThresholdUpdateManager _flushThresholdUpdateManager; + private final boolean _isUploadingRealtimeMissingSegmentStoreCopyEnabled; private volatile boolean _isStopping = false; private AtomicInteger _numCompletingSegments = new AtomicInteger(0); + private FileUploadDownloadClient _fileUploadDownloadClient; + /** + * Map caching the LLC segment names without deep store download uri. + * Controller gets the LLC segment names from this map, and asks servers to upload the segments to segment store. + * This helps to alleviates excessive ZK access when fetching LLC segment list. + * Key: table name; Value: LLC segment names to be uploaded to segment store. + */ + private Map<String, Queue<String>> _llcSegmentMapForUpload; Review comment: There is no notion of ordering here. But I want to utilize the `java.util.concurrent` to build a concurrent list - during the committing phase, there may be concurrent modification when adding segment to the same list (the segments in the same table). And I think `ConcurrentLinkedQueue` is a fit for this use case. -- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org