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]