You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by "abhishekagarwal87 (via GitHub)" <gi...@apache.org> on 2024/02/05 11:00:30 UTC

Re: [PR] Concurrent Streaming and Replace improvements (druid)

abhishekagarwal87 commented on code in PR #15813:
URL: https://github.com/apache/druid/pull/15813#discussion_r1478006492


##########
server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java:
##########
@@ -1475,7 +1485,37 @@ private Set<DataSegment> createNewIdsForAppendSegments(
           entry.getValue(),
           appendVersionToSegments
       );
-      for (Map.Entry<Interval, Set<DataSegment>> upgradeEntry : segmentsToUpgrade.entrySet()) {
+      Map<Interval, Set<DataSegment>> filteredSegmentsToUpgrade = new HashMap<>();
+      for (Interval interval : segmentsToUpgrade.keySet()) {
+        filteredSegmentsToUpgrade.put(interval, new HashSet<>());
+        for (DataSegment segment : segmentsToUpgrade.get(interval)) {
+          boolean include = true;
+          if (segmentIdToUpgradeVersions.containsKey(segment.getId().toString())) {
+            for (SegmentIdWithShardSpec upgradedSegment : segmentIdToUpgradeVersions.get(segment.getId().toString())) {
+              if (upgradedSegment.getVersion().equals(upgradeVersion)) {
+                upgradedSegments.add(
+                    new DataSegment(
+                        upgradedSegment.asSegmentId(),
+                        segment.getLoadSpec(),
+                        segment.getDimensions(),
+                        segment.getMetrics(),
+                        upgradedSegment.getShardSpec(),
+                        null,
+                        segment.getBinaryVersion(),
+                        segment.getSize()
+                    )
+                );
+                include = false;
+                break;
+              }
+            }
+          }
+          if (include) {
+            filteredSegmentsToUpgrade.get(interval).add(segment);
+          }
+        }
+      }

Review Comment:
   can you please some comments to describe what are you trying to do here? I don't follow. 



##########
server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java:
##########
@@ -1436,13 +1441,18 @@ private void insertPendingSegmentIntoMetastore(
   private Set<DataSegment> createNewIdsForAppendSegments(
       Handle handle,
       String dataSource,
-      Set<DataSegment> segmentsToAppend
+      Set<DataSegment> segmentsToAppend,
+      @Nullable Map<String, Set<SegmentIdWithShardSpec>> segmentIdToUpgradeVersions

Review Comment:
   ```suggestion
         @Nullable Map<String, Set<SegmentIdWithShardSpec>> segmentIdToUpgradedVersions
   ```



-- 
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: commits-unsubscribe@druid.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org