diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/common/task/ClientCompactionTaskQuerySerdeTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/common/task/ClientCompactionTaskQuerySerdeTest.java index 29952ebc1c0..011b35eb634 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/common/task/ClientCompactionTaskQuerySerdeTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/common/task/ClientCompactionTaskQuerySerdeTest.java @@ -122,7 +122,8 @@ public class ClientCompactionTaskQuerySerdeTest new Duration(3000L), 7, 1000, - 100 + 100, + 2 ), new ClientCompactionTaskGranularitySpec(Granularities.DAY, Granularities.HOUR, true), new ClientCompactionTaskDimensionsSpec(DimensionsSpec.getDefaultSchemas(ImmutableList.of("ts", "dim"))), @@ -287,7 +288,7 @@ public class ClientCompactionTaskQuerySerdeTest null, null, null, - null, + 2, null, null ) @@ -342,7 +343,8 @@ public class ClientCompactionTaskQuerySerdeTest new Duration(3000L), 7, 1000, - 100 + 100, + 2 ), new ClientCompactionTaskGranularitySpec(Granularities.DAY, Granularities.HOUR, true), new ClientCompactionTaskDimensionsSpec(DimensionsSpec.getDefaultSchemas(ImmutableList.of("ts", "dim"))), diff --git a/integration-tests/src/main/java/org/apache/druid/testing/utils/CompactionUtil.java b/integration-tests/src/main/java/org/apache/druid/testing/utils/CompactionUtil.java index accaec0146b..a57a404b61e 100644 --- a/integration-tests/src/main/java/org/apache/druid/testing/utils/CompactionUtil.java +++ b/integration-tests/src/main/java/org/apache/druid/testing/utils/CompactionUtil.java @@ -67,7 +67,8 @@ public class CompactionUtil null, null, null, - 1 + 1, + null ), null, null, diff --git a/integration-tests/src/test/java/org/apache/druid/tests/coordinator/duty/ITAutoCompactionTest.java b/integration-tests/src/test/java/org/apache/druid/tests/coordinator/duty/ITAutoCompactionTest.java index 32d563f25b2..edfe3873659 100644 --- a/integration-tests/src/test/java/org/apache/druid/tests/coordinator/duty/ITAutoCompactionTest.java +++ b/integration-tests/src/test/java/org/apache/druid/tests/coordinator/duty/ITAutoCompactionTest.java @@ -1632,7 +1632,8 @@ public class ITAutoCompactionTest extends AbstractIndexerTest null, null, null, - 1 + 1, + null ), granularitySpec, dimensionsSpec, diff --git a/integration-tests/src/test/java/org/apache/druid/tests/coordinator/duty/ITAutoCompactionUpgradeTest.java b/integration-tests/src/test/java/org/apache/druid/tests/coordinator/duty/ITAutoCompactionUpgradeTest.java index 7c5afb1ffd3..9c32cc5055f 100644 --- a/integration-tests/src/test/java/org/apache/druid/tests/coordinator/duty/ITAutoCompactionUpgradeTest.java +++ b/integration-tests/src/test/java/org/apache/druid/tests/coordinator/duty/ITAutoCompactionUpgradeTest.java @@ -95,7 +95,8 @@ public class ITAutoCompactionUpgradeTest extends AbstractIndexerTest null, null, null, - 1 + 1, + null ), new UserCompactionTaskGranularityConfig(Granularities.YEAR, null, null), null, diff --git a/server/src/main/java/org/apache/druid/client/indexing/ClientCompactionTaskQueryTuningConfig.java b/server/src/main/java/org/apache/druid/client/indexing/ClientCompactionTaskQueryTuningConfig.java index 374f61c5127..7b1a7c54682 100644 --- a/server/src/main/java/org/apache/druid/client/indexing/ClientCompactionTaskQueryTuningConfig.java +++ b/server/src/main/java/org/apache/druid/client/indexing/ClientCompactionTaskQueryTuningConfig.java @@ -75,6 +75,8 @@ public class ClientCompactionTaskQueryTuningConfig @Nullable private final Integer totalNumMergeTasks; @Nullable + private final Integer maxColumnsToMerge; + @Nullable private final AppendableIndexSpec appendableIndexSpec; public static ClientCompactionTaskQueryTuningConfig from( @@ -103,6 +105,7 @@ public class ClientCompactionTaskQueryTuningConfig null, null, null, + null, null ); } else { @@ -128,7 +131,8 @@ public class ClientCompactionTaskQueryTuningConfig userCompactionTaskQueryTuningConfig.getChatHandlerTimeout(), userCompactionTaskQueryTuningConfig.getChatHandlerNumRetries(), userCompactionTaskQueryTuningConfig.getMaxNumSegmentsToMerge(), - userCompactionTaskQueryTuningConfig.getTotalNumMergeTasks() + userCompactionTaskQueryTuningConfig.getTotalNumMergeTasks(), + userCompactionTaskQueryTuningConfig.getMaxColumnsToMerge() ); } } @@ -153,7 +157,8 @@ public class ClientCompactionTaskQueryTuningConfig @JsonProperty("chatHandlerTimeout") @Nullable Duration chatHandlerTimeout, @JsonProperty("chatHandlerNumRetries") @Nullable Integer chatHandlerNumRetries, @JsonProperty("maxNumSegmentsToMerge") @Nullable Integer maxNumSegmentsToMerge, - @JsonProperty("totalNumMergeTasks") @Nullable Integer totalNumMergeTasks + @JsonProperty("totalNumMergeTasks") @Nullable Integer totalNumMergeTasks, + @JsonProperty("maxColumnsToMerge") @Nullable Integer maxColumnsToMerge ) { this.maxRowsPerSegment = maxRowsPerSegment; @@ -175,6 +180,7 @@ public class ClientCompactionTaskQueryTuningConfig this.chatHandlerNumRetries = chatHandlerNumRetries; this.maxNumSegmentsToMerge = maxNumSegmentsToMerge; this.totalNumMergeTasks = totalNumMergeTasks; + this.maxColumnsToMerge = maxColumnsToMerge; } @JsonProperty @@ -318,6 +324,13 @@ public class ClientCompactionTaskQueryTuningConfig return totalNumMergeTasks; } + @JsonProperty + @Nullable + public Integer getMaxColumnsToMerge() + { + return maxColumnsToMerge; + } + @JsonProperty @Nullable public AppendableIndexSpec getAppendableIndexSpec() @@ -353,6 +366,7 @@ public class ClientCompactionTaskQueryTuningConfig Objects.equals(chatHandlerNumRetries, that.chatHandlerNumRetries) && Objects.equals(maxNumSegmentsToMerge, that.maxNumSegmentsToMerge) && Objects.equals(totalNumMergeTasks, that.totalNumMergeTasks) && + Objects.equals(maxColumnsToMerge, that.maxColumnsToMerge) && Objects.equals(appendableIndexSpec, that.appendableIndexSpec); } @@ -378,6 +392,7 @@ public class ClientCompactionTaskQueryTuningConfig chatHandlerNumRetries, maxNumSegmentsToMerge, totalNumMergeTasks, + maxColumnsToMerge, appendableIndexSpec ); } @@ -404,6 +419,7 @@ public class ClientCompactionTaskQueryTuningConfig ", chatHandlerNumRetries=" + chatHandlerNumRetries + ", maxNumSegmentsToMerge=" + maxNumSegmentsToMerge + ", totalNumMergeTasks=" + totalNumMergeTasks + + ", maxColumnsToMerge=" + maxColumnsToMerge + ", appendableIndexSpec=" + appendableIndexSpec + '}'; } diff --git a/server/src/main/java/org/apache/druid/server/coordinator/UserCompactionTaskQueryTuningConfig.java b/server/src/main/java/org/apache/druid/server/coordinator/UserCompactionTaskQueryTuningConfig.java index 07ab96c3436..9c1bfb20064 100644 --- a/server/src/main/java/org/apache/druid/server/coordinator/UserCompactionTaskQueryTuningConfig.java +++ b/server/src/main/java/org/apache/druid/server/coordinator/UserCompactionTaskQueryTuningConfig.java @@ -53,7 +53,8 @@ public class UserCompactionTaskQueryTuningConfig extends ClientCompactionTaskQue @JsonProperty("chatHandlerTimeout") @Nullable Duration chatHandlerTimeout, @JsonProperty("chatHandlerNumRetries") @Nullable Integer chatHandlerNumRetries, @JsonProperty("maxNumSegmentsToMerge") @Nullable Integer maxNumSegmentsToMerge, - @JsonProperty("totalNumMergeTasks") @Nullable Integer totalNumMergeTasks + @JsonProperty("totalNumMergeTasks") @Nullable Integer totalNumMergeTasks, + @JsonProperty("maxColumnsToMerge") @Nullable Integer maxColumnsToMerge ) { super( @@ -75,7 +76,8 @@ public class UserCompactionTaskQueryTuningConfig extends ClientCompactionTaskQue chatHandlerTimeout, chatHandlerNumRetries, maxNumSegmentsToMerge, - totalNumMergeTasks + totalNumMergeTasks, + maxColumnsToMerge ); } diff --git a/server/src/test/java/org/apache/druid/server/coordinator/DataSourceCompactionConfigTest.java b/server/src/test/java/org/apache/druid/server/coordinator/DataSourceCompactionConfigTest.java index 81b3311cddd..a0f4cf9a610 100644 --- a/server/src/test/java/org/apache/druid/server/coordinator/DataSourceCompactionConfigTest.java +++ b/server/src/test/java/org/apache/druid/server/coordinator/DataSourceCompactionConfigTest.java @@ -141,6 +141,7 @@ public class DataSourceCompactionConfigTest extends InitializedNullHandlingTest null, null, null, + null, null ), null, @@ -189,6 +190,7 @@ public class DataSourceCompactionConfigTest extends InitializedNullHandlingTest null, null, null, + null, null ), null, @@ -242,7 +244,8 @@ public class DataSourceCompactionConfigTest extends InitializedNullHandlingTest new Duration(3000L), 7, 1000, - 100 + 100, + 2 ); final String json = OBJECT_MAPPER.writeValueAsString(tuningConfig); @@ -282,7 +285,8 @@ public class DataSourceCompactionConfigTest extends InitializedNullHandlingTest new Duration(3000L), 7, 1000, - 100 + 100, + 2 ); final String json = OBJECT_MAPPER.writeValueAsString(tuningConfig); diff --git a/server/src/test/java/org/apache/druid/server/coordinator/UserCompactionTaskQueryTuningConfigTest.java b/server/src/test/java/org/apache/druid/server/coordinator/UserCompactionTaskQueryTuningConfigTest.java index dc52f784223..01c889ad2c3 100644 --- a/server/src/test/java/org/apache/druid/server/coordinator/UserCompactionTaskQueryTuningConfigTest.java +++ b/server/src/test/java/org/apache/druid/server/coordinator/UserCompactionTaskQueryTuningConfigTest.java @@ -62,6 +62,7 @@ public class UserCompactionTaskQueryTuningConfigTest null, null, null, + null, null ); final String json = OBJECT_MAPPER.writeValueAsString(config); @@ -103,7 +104,8 @@ public class UserCompactionTaskQueryTuningConfigTest new Duration(3000L), 7, 1000, - 100 + 100, + 2 ); final String json = OBJECT_MAPPER.writeValueAsString(tuningConfig); diff --git a/server/src/test/java/org/apache/druid/server/coordinator/duty/CompactSegmentsTest.java b/server/src/test/java/org/apache/druid/server/coordinator/duty/CompactSegmentsTest.java index 08b32feff34..d201bb8ffba 100644 --- a/server/src/test/java/org/apache/druid/server/coordinator/duty/CompactSegmentsTest.java +++ b/server/src/test/java/org/apache/druid/server/coordinator/duty/CompactSegmentsTest.java @@ -736,6 +736,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -801,6 +802,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -860,6 +862,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -919,6 +922,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), new UserCompactionTaskGranularityConfig(Granularities.YEAR, null, null), @@ -986,6 +990,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -1048,6 +1053,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -1109,6 +1115,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), new UserCompactionTaskGranularityConfig(Granularities.YEAR, null, true), @@ -1211,6 +1218,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), new UserCompactionTaskGranularityConfig(Granularities.YEAR, null, null), @@ -1337,6 +1345,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -1399,6 +1408,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -1465,6 +1475,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -1612,6 +1623,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -1709,6 +1721,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), new UserCompactionTaskGranularityConfig(Granularities.YEAR, null, null), @@ -1774,6 +1787,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -1836,6 +1850,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, @@ -2154,6 +2169,7 @@ public class CompactSegmentsTest null, null, null, + null, null ), null, diff --git a/server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstIteratorTest.java b/server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstIteratorTest.java index cbcd1b906bb..35021a56a2c 100644 --- a/server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstIteratorTest.java +++ b/server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstIteratorTest.java @@ -133,6 +133,7 @@ public class NewestSegmentFirstIteratorTest null, null, null, + null, null ), null, @@ -177,6 +178,7 @@ public class NewestSegmentFirstIteratorTest null, null, null, + null, null ), null, @@ -221,6 +223,7 @@ public class NewestSegmentFirstIteratorTest null, null, null, + null, null ), null, @@ -265,6 +268,7 @@ public class NewestSegmentFirstIteratorTest null, null, null, + null, null ), null, @@ -309,6 +313,7 @@ public class NewestSegmentFirstIteratorTest null, null, null, + null, null ), null, @@ -353,6 +358,7 @@ public class NewestSegmentFirstIteratorTest null, null, null, + null, null ), null, @@ -397,6 +403,7 @@ public class NewestSegmentFirstIteratorTest null, null, null, + null, null ), null, @@ -441,6 +448,7 @@ public class NewestSegmentFirstIteratorTest null, null, null, + null, null ), null, diff --git a/server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstPolicyTest.java b/server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstPolicyTest.java index 1b7570a9721..2ae82a5f11d 100644 --- a/server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstPolicyTest.java +++ b/server/src/test/java/org/apache/druid/server/coordinator/duty/NewestSegmentFirstPolicyTest.java @@ -1538,6 +1538,7 @@ public class NewestSegmentFirstPolicyTest null, null, null, + null, null ), null @@ -1572,6 +1573,7 @@ public class NewestSegmentFirstPolicyTest null, null, null, + null, null ), null