liuchang0520 commented on a change in pull request #6778: URL: https://github.com/apache/pinot/pull/6778#discussion_r708874925
########## File path: pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java ########## @@ -1243,4 +1297,110 @@ private int getMaxNumPartitionsPerInstance(InstancePartitions instancePartitions return (numPartitions + numInstancesPerReplicaGroup - 1) / numInstancesPerReplicaGroup; } } + + /** + * Fix the missing LLC segment in deep store by asking servers to upload, and add deep store download uri in ZK. + * Since uploading to deep store involves expensive compression step (first tar up the segment and then upload), + * we don't want to retry the uploading. Segment without deep store copy can still be downloaded from peer servers. + * + * @see <a href=" + * https://cwiki.apache.org/confluence/display/PINOT/By-passing+deep-store+requirement+for+Realtime+segment+completion + * "> By-passing deep-store requirement for Realtime segment completion:Failure cases and handling</a> + * + * TODO: Add an on-demand way to upload LLC segment to deep store for a specific table. + */ + public void uploadToDeepStoreIfMissing(TableConfig tableConfig) { + String realtimeTableName = tableConfig.getTableName(); + + if (_isStopping) { + LOGGER.info( + "Skipped fixing deep store copy of LLC segments for table {}, because segment manager is stopping.", + realtimeTableName); + return; + } + + long retentionMs = Review comment: Added -- 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: commits-unsubscr...@pinot.apache.org 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