ravipesala commented on a change in pull request #3177: 
[CARBONDATA-3337][CARBONDATA-3306] Distributed index server
URL: https://github.com/apache/carbondata/pull/3177#discussion_r279641349
 
 

 ##########
 File path: 
core/src/main/java/org/apache/carbondata/core/indexstore/blockletindex/BlockletDataMapFactory.java
 ##########
 @@ -315,33 +297,64 @@ public void clear(Segment segment) {
   public synchronized void clear() {
     if (segmentMap.size() > 0) {
       for (String segmentId : segmentMap.keySet().toArray(new 
String[segmentMap.size()])) {
-        clear(new Segment(segmentId, null, null));
+        clear(segmentId);
       }
     }
   }
 
-  @Override
-  public List<CoarseGrainDataMap> getDataMaps(DataMapDistributable 
distributable)
+  @Override public List<String> getAllTableBlockletUniqueNames() {
+    List<String> indexFilePaths = new ArrayList<>();
+    for (Map.Entry<String, Set<TableBlockIndexUniqueIdentifier>> entry : 
segmentMap.entrySet()) {
+      for (TableBlockIndexUniqueIdentifier tableBlockIndexUniqueIdentifier : 
entry.getValue()) {
+        
indexFilePaths.add(tableBlockIndexUniqueIdentifier.getUniqueTableSegmentIdentifier());
+      }
+    }
+    return indexFilePaths;
+  }
+
+  @Override public List<CoarseGrainDataMap> getDataMaps(DataMapDistributable 
distributable)
       throws IOException {
     BlockletDataMapDistributable mapDistributable = 
(BlockletDataMapDistributable) distributable;
     List<TableBlockIndexUniqueIdentifierWrapper> identifiersWrapper = new 
ArrayList<>();
-    Path indexPath = new Path(mapDistributable.getFilePath());
     String segmentNo = mapDistributable.getSegment().getSegmentNo();
-    if (indexPath.getName().endsWith(CarbonTablePath.INDEX_FILE_EXT)) {
-      String parent = indexPath.getParent().toString();
-      identifiersWrapper.add(new TableBlockIndexUniqueIdentifierWrapper(
-          new TableBlockIndexUniqueIdentifier(parent, indexPath.getName(), 
null, segmentNo),
-          this.getCarbonTable()));
-    } else if 
(indexPath.getName().endsWith(CarbonTablePath.MERGE_INDEX_FILE_EXT)) {
-      SegmentIndexFileStore fileStore = new SegmentIndexFileStore();
-      CarbonFile carbonFile = FileFactory.getCarbonFile(indexPath.toString());
-      String parentPath = carbonFile.getParentFile().getAbsolutePath();
-      List<String> indexFiles = 
fileStore.getIndexFilesFromMergeFile(carbonFile.getAbsolutePath());
+    if (mapDistributable.getFilePath() == null) {
 
 Review comment:
   Better check for segment path and reuse the else condition code to read the 
index file

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to