deepthi912 commented on code in PR #19394:
URL: https://github.com/apache/pinot/pull/19394#discussion_r3911426735


##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/indexsegment/immutable/ImmutableSegmentLoader.java:
##########
@@ -158,6 +158,16 @@ public static void preprocess(File indexDir, 
IndexLoadingConfig indexLoadingConf
     Preconditions.checkArgument(indexDir.isDirectory(), "Index directory: %s 
does not exist or is not a directory",
         indexDir);
 
+    // Respect skipSegmentPreprocess uniformly across every caller — including 
cold-download load paths

Review Comment:
   You're right, and I'll switch to that pattern. My earlier push-back was 
framed around minion-built / batch cold-download where the fresh segment still 
needs its indexes built — but the pauseless-realtime case (which is really what 
this fix targets) is the opposite: the committer already ran preprocess before 
uploading, so non-committer replicas downloading the tar get a fully 
preprocessed segment and `needPreprocess()` would correctly return `false` and 
save the whole preprocess call.
   
   The check is per-load but cheap; the work it gates is expensive. Paying the 
check universally is the safer contract and matches how `BaseTableDataManager` 
warm-load / reload paths already do it.
   
   I'll update the fix to route through `needPreprocess(segmentDirectory, 
indexLoadingConfig)` at the call site so the cold-download callers use the same 
contract as the warm paths.



-- 
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]

Reply via email to