klsince commented on code in PR #9306:
URL: https://github.com/apache/pinot/pull/9306#discussion_r963980370


##########
pinot-core/src/main/java/org/apache/pinot/core/data/manager/BaseTableDataManager.java:
##########
@@ -642,44 +675,44 @@ private boolean tryLoadExistingSegment(String 
segmentName, IndexLoadingConfig in
         // Close the stale SegmentDirectory object and recreate it with 
reprocessed segment.
         closeSegmentDirectoryQuietly(segmentDirectory);
         ImmutableSegmentLoader.preprocess(indexDir, indexLoadingConfig, 
schema);
-        segmentDirectory =
-            initSegmentDirectory(segmentName, 
String.valueOf(zkMetadata.getCrc()), indexLoadingConfig, schema);
+        segmentDirectory = initSegmentDirectory(segmentName, 
String.valueOf(zkMetadata.getCrc()), zkMetadata.getTier(),
+            indexLoadingConfig, schema);
       }
       ImmutableSegment segment = ImmutableSegmentLoader.load(segmentDirectory, 
indexLoadingConfig, schema);
       addSegment(segment);
-      LOGGER.info("Loaded existing segment: {} of table: {} with crc: {}", 
segmentName, _tableNameWithType,
-          zkMetadata.getCrc());
+      LOGGER.info("Loaded existing segment: {} of table: {} with crc: {} on 
tier: {}", segmentName, _tableNameWithType,
+          zkMetadata.getCrc(), zkMetadata.getTier());
       return true;
     } catch (Exception e) {
-      LOGGER.error("Failed to load existing segment: {} of table: {} with crc: 
{}", segmentName, _tableNameWithType,
-          zkMetadata.getCrc(), e);
+      LOGGER.error("Failed to load existing segment: {} of table: {} with crc: 
{} on tier: {}", segmentName,
+          _tableNameWithType, zkMetadata.getCrc(), zkMetadata.getTier(), e);
       closeSegmentDirectoryQuietly(segmentDirectory);
       return false;
     }
   }
 
-  private SegmentDirectory tryInitSegmentDirectory(String segmentName, String 
segmentCrc,
+  private SegmentDirectory tryInitSegmentDirectory(String segmentName, String 
segmentCrc, String segmentTier,
       IndexLoadingConfig indexLoadingConfig, Schema schema) {
     try {
-      return initSegmentDirectory(segmentName, segmentCrc, indexLoadingConfig, 
schema);
+      return initSegmentDirectory(segmentName, segmentCrc, segmentTier, 
indexLoadingConfig, schema);
     } catch (Exception e) {
-      LOGGER.warn("Failed to initialize SegmentDirectory for segment: {} of 
table: {} with error: {}", segmentName,
-          _tableNameWithType, e.getMessage());
+      LOGGER.warn("Failed to initialize SegmentDirectory for segment: {} of 
table: {} on tier: {} with error: {}",
+          segmentName, _tableNameWithType, segmentTier, e.getMessage());
       return null;
     }
   }
 
-  private SegmentDirectory initSegmentDirectory(String segmentName, String 
segmentCrc,
+  private SegmentDirectory initSegmentDirectory(String segmentName, String 
segmentCrc, String segmentTier,
       IndexLoadingConfig indexLoadingConfig, Schema schema)
       throws Exception {
     SegmentDirectoryLoaderContext loaderContext =
         new 
SegmentDirectoryLoaderContext.Builder().setTableConfig(indexLoadingConfig.getTableConfig())
-            
.setSchema(schema).setInstanceId(indexLoadingConfig.getInstanceId()).setSegmentName(segmentName)
-            
.setSegmentCrc(segmentCrc).setSegmentDirectoryConfigs(indexLoadingConfig.getSegmentDirectoryConfigs())
-            .build();
+            
.setSchema(schema).setInstanceId(indexLoadingConfig.getInstanceId()).setTableDataDir(_tableDataDir)
+            
.setSegmentName(segmentName).setSegmentCrc(segmentCrc).setSegmentTier(segmentTier)
+            
.setSegmentDirectoryConfigs(indexLoadingConfig.getSegmentDirectoryConfigs()).build();
     SegmentDirectoryLoader segmentDirectoryLoader =
         
SegmentDirectoryLoaderRegistry.getSegmentDirectoryLoader(indexLoadingConfig.getSegmentDirectoryLoader());
-    File indexDir = getSegmentDataDir(segmentName);
+    File indexDir = getSegmentDataDir(segmentName, segmentTier, 
indexLoadingConfig);
     return segmentDirectoryLoader.load(indexDir.toURI(), loaderContext);

Review Comment:
   the provided segmentTier is the `current tier` of the segment. This 
`initSegmentDirectory` is a util method to initialize a SegmentDirectory object 
for the segment from the current tier to complete the following logic.



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