surekhasaharan commented on a change in pull request #7494: API to drop data by
interval
URL: https://github.com/apache/incubator-druid/pull/7494#discussion_r277103208
##########
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:
hmm, should it be just `OK` if all segments passed and `FAIL` if all failed.
And return per-segment success/failure only of there are mixed results. I am
thinking what if there's huge number of segments in the interval, does it make
sense to return just the number of segments successfully marked unused ?
----------------------------------------------------------------
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]