This is an automated email from the ASF dual-hosted git repository.
karan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 11c2ad1bac2 Fix flakiness in compaction ITs (#17877)
11c2ad1bac2 is described below
commit 11c2ad1bac211b28c4f91ef68befd906d517e3bb
Author: Kashif Faraz <[email protected]>
AuthorDate: Fri Apr 4 20:10:44 2025 +0530
Fix flakiness in compaction ITs (#17877)
---
.../coordinator/CoordinatorConfigManager.java | 23 ++++++++++++++++++++++
.../http/CoordinatorCompactionConfigsResource.java | 13 +-----------
2 files changed, 24 insertions(+), 12 deletions(-)
diff --git
a/server/src/main/java/org/apache/druid/server/coordinator/CoordinatorConfigManager.java
b/server/src/main/java/org/apache/druid/server/coordinator/CoordinatorConfigManager.java
index 9313ba1ff15..5d435549bac 100644
---
a/server/src/main/java/org/apache/druid/server/coordinator/CoordinatorConfigManager.java
+++
b/server/src/main/java/org/apache/druid/server/coordinator/CoordinatorConfigManager.java
@@ -27,6 +27,7 @@ import org.apache.druid.audit.AuditEntry;
import org.apache.druid.audit.AuditInfo;
import org.apache.druid.audit.AuditManager;
import org.apache.druid.common.config.ConfigManager;
+import org.apache.druid.common.config.Configs;
import org.apache.druid.common.config.JacksonConfigManager;
import org.apache.druid.error.DruidException;
import org.apache.druid.error.InternalServerError;
@@ -152,6 +153,28 @@ public class CoordinatorConfigManager
);
}
+ public boolean updateCompactionTaskSlots(
+ @Nullable Double compactionTaskSlotRatio,
+ @Nullable Integer maxCompactionTaskSlots,
+ AuditInfo auditInfo
+ )
+ {
+ UnaryOperator<DruidCompactionConfig> operator = current -> {
+ final ClusterCompactionConfig currentClusterConfig =
current.clusterConfig();
+ final ClusterCompactionConfig updatedClusterConfig = new
ClusterCompactionConfig(
+ Configs.valueOrDefault(compactionTaskSlotRatio,
currentClusterConfig.getCompactionTaskSlotRatio()),
+ Configs.valueOrDefault(maxCompactionTaskSlots,
currentClusterConfig.getMaxCompactionTaskSlots()),
+ currentClusterConfig.getCompactionPolicy(),
+ currentClusterConfig.isUseSupervisors(),
+ currentClusterConfig.getEngine()
+ );
+
+ return current.withClusterConfig(updatedClusterConfig);
+ };
+
+ return updateConfigHelper(operator, auditInfo);
+ }
+
public boolean updateClusterCompactionConfig(
ClusterCompactionConfig config,
AuditInfo auditInfo
diff --git
a/server/src/main/java/org/apache/druid/server/http/CoordinatorCompactionConfigsResource.java
b/server/src/main/java/org/apache/druid/server/http/CoordinatorCompactionConfigsResource.java
index f24aae7baa5..561670ae628 100644
---
a/server/src/main/java/org/apache/druid/server/http/CoordinatorCompactionConfigsResource.java
+++
b/server/src/main/java/org/apache/druid/server/http/CoordinatorCompactionConfigsResource.java
@@ -22,10 +22,8 @@ package org.apache.druid.server.http;
import com.google.inject.Inject;
import com.sun.jersey.spi.container.ResourceFilters;
import org.apache.druid.audit.AuditInfo;
-import org.apache.druid.common.config.Configs;
import org.apache.druid.error.InvalidInput;
import org.apache.druid.indexer.CompactionEngine;
-import org.apache.druid.server.coordinator.ClusterCompactionConfig;
import org.apache.druid.server.coordinator.CoordinatorConfigManager;
import org.apache.druid.server.coordinator.DataSourceCompactionConfig;
import org.apache.druid.server.http.security.ConfigResourceFilter;
@@ -85,18 +83,9 @@ public class CoordinatorCompactionConfigsResource
return ServletResourceUtils.buildUpdateResponse(() -> true);
}
- final ClusterCompactionConfig currentConfig =
configManager.getCurrentCompactionConfig().clusterConfig();
- final ClusterCompactionConfig updatedClusterConfig = new
ClusterCompactionConfig(
- Configs.valueOrDefault(compactionTaskSlotRatio,
currentConfig.getCompactionTaskSlotRatio()),
- Configs.valueOrDefault(maxCompactionTaskSlots,
currentConfig.getMaxCompactionTaskSlots()),
- currentConfig.getCompactionPolicy(),
- currentConfig.isUseSupervisors(),
- currentConfig.getEngine()
- );
-
final AuditInfo auditInfo = AuthorizationUtils.buildAuditInfo(req);
return ServletResourceUtils.buildUpdateResponse(
- () ->
configManager.updateClusterCompactionConfig(updatedClusterConfig, auditInfo)
+ () -> configManager.updateCompactionTaskSlots(compactionTaskSlotRatio,
maxCompactionTaskSlots, auditInfo)
);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]