jon-wei commented on a change in pull request #7494: API to drop data by 
interval
URL: https://github.com/apache/incubator-druid/pull/7494#discussion_r277111730
 
 

 ##########
 File path: 
server/src/main/java/org/apache/druid/metadata/SQLMetadataSegmentManager.java
 ##########
 @@ -407,6 +407,55 @@ public boolean removeSegment(SegmentId segmentId)
     }
   }
 
+  @Override
+  public boolean disableSegments(String dataSource, Collection<String> 
segmentIds)
+  {
+    if (segmentIds.isEmpty()) {
+      return false;
+    }
+    try {
+      connector.getDBI().withHandle(handle -> {
+        Batch batch = handle.createBatch();
+        segmentIds
+            .forEach(segmentId -> batch.add(
+                StringUtils.format(
+                    "UPDATE %s SET used=false WHERE id = '%s'",
+                    getSegmentsTable(),
+                    segmentId
+                )
+            ));
+        return batch.execute();
 
 Review comment:
   For the interval case, I think returning a count of segments marked unused 
makes sense (could provide a non-default option to report exactly what was 
dropped).
   
   For the segmentId case, I think it makes more sense to report individual 
failures (if the user is trying to enable specific segments, then I think it's 
likely that they'll care about the specific results). I think it's fine to 
leave out successes and report segments that were not successfully disabled.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to