Github user ravipesala commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2207#discussion_r185525800
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/metadata/SegmentFileStore.java ---
    @@ -162,21 +167,44 @@ public static String writeSegmentFile(String 
tablePath, String segmentId, String
           for (CarbonFile file : indexFiles) {
             folderDetails.getFiles().add(file.getName());
           }
    -      String segmentRelativePath = 
segmentPath.substring(tablePath.length(), segmentPath.length());
    +      String segmentRelativePath = "/";
    +      if (!supportFlatFolder) {
    +        segmentRelativePath = segmentPath.substring(tablePath.length(), 
segmentPath.length());
    +      }
           segmentFile.addPath(segmentRelativePath, folderDetails);
    -      String segmentFileFolder =  
CarbonTablePath.getSegmentFilesLocation(tablePath);
    +      String segmentFileFolder = 
CarbonTablePath.getSegmentFilesLocation(tablePath);
           CarbonFile carbonFile = FileFactory.getCarbonFile(segmentFileFolder);
           if (!carbonFile.exists()) {
             carbonFile.mkdirs(segmentFileFolder, 
FileFactory.getFileType(segmentFileFolder));
           }
           String segmentFileName = genSegmentFileName(segmentId, UUID) + 
CarbonTablePath.SEGMENT_EXT;
           // write segment info to new file.
           writeSegmentFile(segmentFile, segmentFileFolder + File.separator + 
segmentFileName);
    +
    +      // Move all files to table path from segment folder.
    +      if (supportFlatFolder) {
    +        moveFromTempFolder(segmentPath, tablePath);
    +      }
    +
           return segmentFileName;
         }
         return null;
       }
     
    +  /**
    +   * Move the loaded data from temp folder to respective partition folder.
    +   * @param tablePath
    --- End diff --
    
    ok


---

Reply via email to