akashrn5 commented on a change in pull request #3927:
URL: https://github.com/apache/carbondata/pull/3927#discussion_r489324392
##########
File path:
integration/spark/src/main/scala/org/apache/carbondata/spark/rdd/CarbonDataRDDFactory.scala
##########
@@ -725,43 +725,53 @@ object CarbonDataRDDFactory {
val metadataDetails =
SegmentStatusManager.readTableStatusFile(
CarbonTablePath.getTableStatusFilePath(carbonTable.getTablePath))
+ val updateTableStatusFile =
CarbonUpdateUtil.getUpdateStatusFileName(updateModel
+ .updatedTimeStamp.toString)
+ val updatedSegments =
SegmentUpdateStatusManager.readLoadMetadata(updateTableStatusFile,
+ carbonTable.getTablePath).map(_.getSegmentName).toSet
val segmentFiles = segmentDetails.asScala.map { seg =>
- val load =
- metadataDetails.find(_.getLoadName.equals(seg.getSegmentNo)).get
- val segmentFile = load.getSegmentFile
- var segmentFiles: Seq[CarbonFile] = Seq.empty[CarbonFile]
+ // create new segment files and merge for only updated segments
+ if (updatedSegments.contains(seg.getSegmentNo)) {
+ val load =
+ metadataDetails.find(_.getLoadName.equals(seg.getSegmentNo)).get
+ val segmentFile = load.getSegmentFile
+ var segmentFiles: Seq[CarbonFile] = Seq.empty[CarbonFile]
- val segmentMetaDataInfo = segmentMetaDataInfoMap.get(seg.getSegmentNo)
- val file = SegmentFileStore.writeSegmentFile(
- carbonTable,
- seg.getSegmentNo,
- String.valueOf(System.currentTimeMillis()),
- load.getPath,
- segmentMetaDataInfo)
+ val segmentMetaDataInfo = segmentMetaDataInfoMap.get(seg.getSegmentNo)
+ val file = SegmentFileStore.writeSegmentFile(
Review comment:
here method level comment says for new updates on the same segment we
need to write new segment file with new segmentMetaDataInfo and merge with old
segment file , i think that comment is pretty clear. It should be ok i think.
Please check once.
----------------------------------------------------------------
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]