assertCompactSegments( compactor, keepSegmentGranularity, assertCompactSegments( compactor, keepSegmentGranularity, assertCompactSegments( compactor, keepSegmentGranularity, assertLastSegmentNotCompacted(compactor, keepSegmentGranularity);
private void addMoreData(String dataSource, int day) { for (int i = 0; i < 2; i++) { DataSegment newSegment = createSegment(dataSource, day, true, i); dataSources.get(dataSource).add( newSegment.getInterval(), newSegment.getVersion(), newSegment.getShardSpec().createChunk(newSegment) ); newSegment = createSegment(dataSource, day, false, i); dataSources.get(dataSource).add( newSegment.getInterval(), newSegment.getVersion(), newSegment.getShardSpec().createChunk(newSegment) ); } }
addMoreData(dataSource, 9); CoordinatorStats stats = runCompactor(compactor, keepSegmentGranularity); Assert.assertEquals( 1, ); addMoreData(dataSource, 10); stats = runCompactor(compactor, keepSegmentGranularity); Assert.assertEquals( 1,
final CoordinatorStats stats = runCompactor(compactor, keepSegmentGranularity); Assert.assertEquals( expectedCompactTaskCount,
private CoordinatorStats runCompactor(DruidCoordinatorSegmentCompactor compactor, boolean keepSegmentGranularity) { DruidCoordinatorRuntimeParams params = DruidCoordinatorRuntimeParams .newBuilder() .withDataSources(dataSources) .withCompactionConfig(CoordinatorCompactionConfig.from(createCompactionConfigs(keepSegmentGranularity))) .build(); return compactor.run(params).getCoordinatorStats(); }
assertCompactSegments( compactor, keepSegmentGranularity, ); expectedRemainingSegments -= 20; assertCompactSegments( compactor, keepSegmentGranularity, assertCompactSegments( compactor, keepSegmentGranularity, ); expectedRemainingSegments -= 20; assertCompactSegments( compactor, keepSegmentGranularity, assertCompactSegments( compactor, keepSegmentGranularity, ); expectedRemainingSegments -= 20; assertCompactSegments( compactor, keepSegmentGranularity,
@Before public void setup() { dataSources = new HashMap<>(); for (int i = 0; i < 3; i++) { final String dataSource = DATA_SOURCE_PREFIX + i; VersionedIntervalTimeline<String, DataSegment> timeline = new VersionedIntervalTimeline<>( String.CASE_INSENSITIVE_ORDER ); for (int j = 0; j < 4; j++) { for (int k = 0; k < 2; k++) { DataSegment segment = createSegment(dataSource, j, true, k); timeline.add(segment.getInterval(), segment.getVersion(), segment.getShardSpec().createChunk(segment)); segment = createSegment(dataSource, j, false, k); timeline.add(segment.getInterval(), segment.getVersion(), segment.getShardSpec().createChunk(segment)); } } for (int j = 7; j < 9; j++) { for (int k = 0; k < 2; k++) { DataSegment segment = createSegment(dataSource, j, true, k); timeline.add(segment.getInterval(), segment.getVersion(), segment.getShardSpec().createChunk(segment)); segment = createSegment(dataSource, j, false, k); timeline.add(segment.getInterval(), segment.getVersion(), segment.getShardSpec().createChunk(segment)); } } dataSources.put(dataSource, timeline); } }