This is an automated email from the ASF dual-hosted git repository.
kgyrtkirk 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 0a4b7722ab8 minor: update some deps and reduce thread pressure during
test runs (#19248)
0a4b7722ab8 is described below
commit 0a4b7722ab83070942319d1ab6c523747bd89da7
Author: Zoltan Haindrich <[email protected]>
AuthorDate: Fri Apr 3 07:06:33 2026 +0200
minor: update some deps and reduce thread pressure during test runs (#19248)
---
.../{collect_jstacks => collect_jvm_diagnostics} | 9 ++-
.github/workflows/worker.yml | 4 +-
distribution/bin/check-licenses.py | 1 +
embedded-tests/pom.xml | 2 +-
extensions-contrib/redis-cache/pom.xml | 2 -
licenses.yaml | 36 ++++++----
pom.xml | 83 ++++++++++++++--------
.../druid/quidem/DruidAvaticaTestDriver.java | 10 ++-
.../druid/sql/calcite/SqlTestFrameworkConfig.java | 32 +++++----
9 files changed, 115 insertions(+), 64 deletions(-)
diff --git a/.github/scripts/collect_jstacks
b/.github/scripts/collect_jvm_diagnostics
similarity index 78%
rename from .github/scripts/collect_jstacks
rename to .github/scripts/collect_jvm_diagnostics
index 7f4d2a6a160..9f3818ca97b 100755
--- a/.github/scripts/collect_jstacks
+++ b/.github/scripts/collect_jvm_diagnostics
@@ -16,13 +16,16 @@
# limitations under the License.
#--------------------------------------------------------------------
-echo "@ capturing threaddumps every minute for all java processes" >&2
+echo "@ capturing jvm diagnostics every minute for all java processes" >&2
+
+mkdir -p target/ci-debug
while :;do
sleep 60
t=`date +%s`
- echo "@ capturing threaddumps $t" >&2
+ echo "@ capturing jvm diagnostics $t" >&2
pgrep java | while read pid;do
- jstack $pid > target/jstack.$pid.$t
+ jstack $pid > target/ci-debug/jstack.$pid.$t
+ jcmd $pid GC.heap_info > target/ci-debug/heap.$pid.$t 2>&1
done
done
diff --git a/.github/workflows/worker.yml b/.github/workflows/worker.yml
index bde0d206ee4..6eb428b5750 100644
--- a/.github/workflows/worker.yml
+++ b/.github/workflows/worker.yml
@@ -84,7 +84,7 @@ jobs:
set -x
./.github/scripts/setup_test_profiling_env.sh ${{ inputs.jdk }}
run_id=$GITHUB_RUN_ID run_number=$GITHUB_RUN_NUMBER
run_attempt=$GITHUB_RUN_ATTEMPT key=${{ inputs.key }}
event_ref=$GITHUB_EVENT_REF run_url=$GITHUB_RUN_URL >> $GITHUB_ENV
echo "HASH=$(echo -n "${{ inputs.key }}" | sha256sum | cut -c-8)" >>
$GITHUB_ENV
- ./.github/scripts/collect_jstacks &
+ ./.github/scripts/collect_jvm_diagnostics &
- name: 'Execute: ${{ inputs.script }}'
run: ${{ inputs.script }}
@@ -118,4 +118,4 @@ jobs:
**/core.[0-9]*
**/TEST-*.xml
**/target/jacoco*.exec
- **/target/jstack*
+ **/target/ci-debug/**
diff --git a/distribution/bin/check-licenses.py
b/distribution/bin/check-licenses.py
index 7f373b11a94..7c85494862c 100755
--- a/distribution/bin/check-licenses.py
+++ b/distribution/bin/check-licenses.py
@@ -264,6 +264,7 @@ def build_compatible_license_names():
compatible_licenses['BSD-3-Clause'] = 'BSD-3-Clause License'
compatible_licenses['Unicode/ICU License'] = 'Unicode/ICU License'
+ compatible_licenses['Unicode-3.0'] = 'Unicode/ICU License'
compatible_licenses['SIL Open Font License 1.1'] = 'SIL Open Font License
1.1'
diff --git a/embedded-tests/pom.xml b/embedded-tests/pom.xml
index acccca71644..215c051fd47 100644
--- a/embedded-tests/pom.xml
+++ b/embedded-tests/pom.xml
@@ -748,7 +748,7 @@
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
- <version>5.5</version>
+ <version>5.5.1</version>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/extensions-contrib/redis-cache/pom.xml
b/extensions-contrib/redis-cache/pom.xml
index 2c5f95b1348..44265f3755f 100644
--- a/extensions-contrib/redis-cache/pom.xml
+++ b/extensions-contrib/redis-cache/pom.xml
@@ -49,7 +49,6 @@
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
- <version>5.1.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
@@ -106,7 +105,6 @@
<dependency>
<groupId>com.github.fppt</groupId>
<artifactId>jedis-mock</artifactId>
- <version>1.1.12</version>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/licenses.yaml b/licenses.yaml
index 2d20bc227eb..5d89655d0f4 100644
--- a/licenses.yaml
+++ b/licenses.yaml
@@ -321,7 +321,7 @@ name: Jackson
license_category: binary
module: java-core
license_name: Apache License version 2.0
-version: 2.19.2
+version: 2.20.2
libraries:
- com.fasterxml.jackson.core: jackson-core
- com.fasterxml.jackson.core: jackson-annotations
@@ -360,11 +360,21 @@ notice: |
---
+name: Jackson
+license_category: binary
+module: java-core
+license_name: Apache License version 2.0
+version: "2.20"
+libraries:
+ - com.fasterxml.jackson.core: jackson-annotations
+
+---
+
name: Jackson
license_category: binary
module: extensions-contrib/druid-deltalake-extensions
license_name: Apache License version 2.0
-version: 2.19.2
+version: 2.20.2
libraries:
- com.fasterxml.jackson.core: jackson-databind
notice: |
@@ -390,7 +400,7 @@ name: JavaBeans Activation Framework API JAR
license_category: binary
module: java-core
license_name: Eclipse Distribution License 1.0
-version: 1.2.1
+version: 1.2.2
copyright: Oracle and/or its affiliates.
license_file_path: licenses/bin/jakarta.EDL1
libraries:
@@ -424,7 +434,7 @@ name: Error Prone Annotations
license_category: binary
module: java-core
license_name: Apache License version 2.0
-version: 2.35.1
+version: 2.41.0
libraries:
- com.google.errorprone: error_prone_annotations
@@ -1211,7 +1221,7 @@ name: org.yaml snakeyaml
license_category: binary
module: extensions-core/kubernetes-overlord-extensions
license_name: Apache License version 2.0
-version: 2.4
+version: 2.5
libraries:
- org.yaml: snakeyaml
@@ -1241,7 +1251,7 @@ name: org.bouncycastle bcprov-jdk18on
license_category: binary
module: extensions-core/kubernetes-extensions
license_name: MIT License
-version: "1.81"
+version: "1.82"
libraries:
- org.bouncycastle: bcprov-jdk18on
- org.bouncycastle: bcprov-ext-jdk18on
@@ -1434,7 +1444,7 @@ name: Netty
license_category: binary
module: java-core
license_name: Apache License version 2.0
-version: 4.2.6.Final
+version: 4.2.12.Final
libraries:
- io.netty: netty-buffer
- io.netty: netty-codec
@@ -2637,7 +2647,7 @@ name: RoaringBitmap
license_category: binary
module: java-core
license_name: Apache License version 2.0
-version: 0.9.49
+version: 1.6.13
libraries:
- org.roaringbitmap: RoaringBitmap
- org.roaringbitmap: shims
@@ -3024,7 +3034,7 @@ libraries:
---
name: Jackson Dataformat Yaml
-version: 2.19.2
+version: 2.20.2
license_category: binary
module: extensions/druid-avro-extensions
license_name: Apache License version 2.0
@@ -3179,7 +3189,7 @@ name: org.yaml snakeyaml
license_category: binary
module: extensions/druid-protobuf-extensions
license_name: Apache License version 2.0
-version: 2.0
+version: 2.5
libraries:
- org.yaml: snakeyaml
@@ -4140,7 +4150,7 @@ name: aircompressor
license_category: binary
module: extensions/druid-orc-extensions
license_name: Apache License version 2.0
-version: "0.21"
+version: "2.0.2"
libraries:
- io.airlift: aircompressor
@@ -4642,7 +4652,7 @@ name: Netty
license_category: binary
module: extensions/druid-azure-extensions
license_name: Apache License version 2.0
-version: 2.0.73.Final
+version: 2.0.75.Final
libraries:
- io.netty: netty-tcnative-boringssl-static
- io.netty: netty-tcnative-classes
@@ -5215,7 +5225,7 @@ name: jakarta.activation
license_category: binary
module: extensions/druid-avro-extensions
license_name: Eclipse Distribution License 1.0
-version: 1.2.2
+version: 2.0.1
libraries:
- com.sun.activation: jakarta.activation
diff --git a/pom.xml b/pom.xml
index be5e1fcf8df..8aadc56f459 100644
--- a/pom.xml
+++ b/pom.xml
@@ -96,7 +96,7 @@
<datasketches.memory.version>2.2.0</datasketches.memory.version>
<derby.version>10.14.2.0</derby.version>
<dropwizard.metrics.version>4.2.22</dropwizard.metrics.version>
- <errorprone.version>2.35.1</errorprone.version>
+ <errorprone.version>2.41.0</errorprone.version>
<fabric8.version>7.6.0</fabric8.version>
<fastutil.version>8.5.4</fastutil.version>
<guava.version>32.1.3-jre</guava.version>
@@ -104,13 +104,13 @@
<hamcrest.version>2.2</hamcrest.version>
<jetty.version>12.0.30</jetty.version>
<jersey.version>1.19.4</jersey.version>
- <jackson.version>2.19.2</jackson.version>
+ <jackson.version>2.20.2</jackson.version>
<codehaus.jackson.version>1.9.13</codehaus.jackson.version>
<log4j.version>2.25.3</log4j.version>
<mysql.version>8.2.0</mysql.version>
<mariadb.version>2.7.3</mariadb.version>
<netty3.version>3.10.6.Final</netty3.version>
- <netty4.version>4.2.6.Final</netty4.version>
+ <netty4.version>4.2.12.Final</netty4.version>
<postgresql.version>42.7.2</postgresql.version>
<protobuf.version>3.25.8</protobuf.version>
<resilience4j.version>1.3.1</resilience4j.version>
@@ -460,12 +460,12 @@
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
- <version>1.81</version>
+ <version>1.82</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
- <version>1.81</version>
+ <version>1.82</version>
</dependency>
<!-- Transitive dependency of hive-common in druid-kerberos,
druid-ranger-security and
druid-iceberg-extension -->
@@ -489,6 +489,21 @@
<artifactId>logging-interceptor</artifactId>
<version>${okhttp.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.squareup.okio</groupId>
+ <artifactId>okio</artifactId>
+ <version>3.16.4</version>
+ </dependency>
+ <dependency>
+ <groupId>redis.clients</groupId>
+ <artifactId>jedis</artifactId>
+ <version>7.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.github.fppt</groupId>
+ <artifactId>jedis-mock</artifactId>
+ <version>1.1.12</version>
+ </dependency>
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java-api</artifactId>
@@ -1019,6 +1034,16 @@
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents.client5</groupId>
+ <artifactId>httpclient5</artifactId>
+ <version>5.5.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents.core5</groupId>
+ <artifactId>httpcore5</artifactId>
+ <version>5.3.6</version>
+ </dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
@@ -1088,7 +1113,17 @@
<dependency>
<groupId>org.roaringbitmap</groupId>
<artifactId>RoaringBitmap</artifactId>
- <version>0.9.49</version>
+ <version>1.6.13</version>
+ </dependency>
+ <dependency>
+ <groupId>org.yaml</groupId>
+ <artifactId>snakeyaml</artifactId>
+ <version>2.5</version>
+ </dependency>
+ <dependency>
+ <groupId>io.airlift</groupId>
+ <artifactId>aircompressor</artifactId>
+ <version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.checkerframework</groupId>
@@ -1150,6 +1185,16 @@
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
+ <dependency>
+ <groupId>com.sun.activation</groupId>
+ <artifactId>jakarta.activation</artifactId>
+ <version>2.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ <version>1.2.2</version>
+ </dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
@@ -1412,7 +1457,7 @@
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
- <version>0.9.12</version>
+ <version>0.10.2</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -1836,35 +1881,14 @@
<!-- upgrading these later -->
<exclude>org.apache.zookeeper:zookeeper</exclude>
<exclude>com.google.guava:guava</exclude>
-
<exclude>com.fasterxml.jackson.core:jackson-annotations</exclude>
-
<exclude>com.fasterxml.jackson.core:jackson-databind</exclude>
-
<exclude>com.fasterxml.jackson.core:jackson-core</exclude>
-
<exclude>com.fasterxml.jackson.datatype:jackson-datatype-jsr310</exclude>
-
<exclude>com.fasterxml.jackson.dataformat:jackson-dataformat-yaml</exclude>
-
<exclude>jakarta.activation:jakarta.activation-api</exclude>
<exclude>com.google.inject.extensions:guice-assistedinject</exclude>
<exclude>com.fasterxml.jackson.module:jackson-module-guice</exclude>
<exclude>com.google.inject:guice</exclude>
- <exclude>redis.clients:jedis</exclude>
-
<exclude>org.reflections:reflections</exclude>
-
<exclude>org.roaringbitmap:RoaringBitmap</exclude>
-
<exclude>io.airlift:aircompressor</exclude>
-
<exclude>com.squareup.okio:okio</exclude>
-
<exclude>org.apache.httpcomponents.client5:httpclient5</exclude>
-
<exclude>com.sun.activation:jakarta.activation</exclude>
- <exclude>org.yaml:snakeyaml</exclude>
-
<exclude>io.netty:netty-transport-native-kqueue</exclude>
-
<exclude>io.netty:netty-transport-native-epoll</exclude>
-
<exclude>io.netty:netty-handler-proxy</exclude>
-
<exclude>io.netty:netty-handler</exclude>
<exclude>com.google.http-client:google-http-client-jackson2</exclude>
<exclude>com.google.http-client:google-http-client</exclude>
<exclude>com.google.api.grpc:proto-google-common-protos</exclude>
-
<exclude>org.bouncycastle:bcpkix-jdk18on</exclude>
-
<exclude>io.netty:netty-codec-http</exclude>
<exclude>io.confluent:kafka-schema-registry-client</exclude>
<exclude>org.apache.kafka:kafka-clients</exclude>
-
<exclude>com.google.errorprone:error_prone_annotations</exclude>
</excludes>
<excludedScopes>
<excludedScope>provided</excludedScope>
@@ -2108,7 +2132,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.11.0</version>
+ <version>3.14.1</version>
<inherited>true</inherited>
<configuration>
<release>${maven.compiler.release}</release>
@@ -2159,6 +2183,7 @@
<arg>-XDcompilePolicy=simple</arg>
<arg>-Xplugin:ErrorProne
-XepExcludedPaths:.*/target/generated-(test-)?sources/.*
-XepDisableWarningsInGeneratedCode -Xep:ClassCanBeStatic:ERROR
-Xep:PreconditionsInvalidPlaceholder:ERROR -Xep:MissingOverride:ERROR
-Xep:DefaultCharset:ERROR -Xep:QualifierOrScopeOnInjectMethod:ERROR
-Xep:AssistedInjectAndInjectOnSameConstructor -Xep:AutoFactoryAtInject
-Xep:ClassName -Xep:ComparisonContractViolated -Xep:DepAnn -Xep:EmptyIf
-Xep:InjectInvalidTargetingOnScopi [...]
<!-- Error Prone requires exemptions for Java
>= 16, see https://errorprone.info/docs/installation#maven -->
+ <arg>--should-stop=ifError=FLOW</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
<arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
diff --git
a/sql/src/test/java/org/apache/druid/quidem/DruidAvaticaTestDriver.java
b/sql/src/test/java/org/apache/druid/quidem/DruidAvaticaTestDriver.java
index a586358e126..b917a5d7bb5 100644
--- a/sql/src/test/java/org/apache/druid/quidem/DruidAvaticaTestDriver.java
+++ b/sql/src/test/java/org/apache/druid/quidem/DruidAvaticaTestDriver.java
@@ -43,10 +43,11 @@ import
org.apache.druid.sql.calcite.util.SqlTestFramework.QueryComponentSupplier
import org.apache.druid.sql.hook.DruidHookDispatcher;
import org.apache.http.client.utils.URIBuilder;
import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.util.thread.QueuedThreadPool;
import java.io.Closeable;
import java.io.IOException;
-import java.net.InetSocketAddress;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
@@ -150,7 +151,12 @@ public class DruidAvaticaTestDriver implements Driver
AvaticaJettyServer(final DruidMeta druidMeta, DruidConnectionExtras
druidConnectionExtras) throws Exception
{
this.druidMeta = druidMeta;
- server = new Server(new InetSocketAddress("localhost", 0));
+ QueuedThreadPool threadPool = new QueuedThreadPool(10, 2, 1000);
+ server = new Server(threadPool);
+ ServerConnector connector = new ServerConnector(server);
+ connector.setHost("localhost");
+ connector.setPort(0);
+ server.addConnector(connector);
server.setHandler(getAvaticaHandler(druidMeta));
server.start();
url = StringUtils.format(
diff --git
a/sql/src/test/java/org/apache/druid/sql/calcite/SqlTestFrameworkConfig.java
b/sql/src/test/java/org/apache/druid/sql/calcite/SqlTestFrameworkConfig.java
index 59b2c8e0683..f950f933a7b 100644
--- a/sql/src/test/java/org/apache/druid/sql/calcite/SqlTestFrameworkConfig.java
+++ b/sql/src/test/java/org/apache/druid/sql/calcite/SqlTestFrameworkConfig.java
@@ -44,10 +44,8 @@ import org.junit.jupiter.api.extension.BeforeEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.reflections.Configuration;
import org.reflections.Reflections;
-import org.reflections.scanners.SubTypesScanner;
-import org.reflections.util.ClasspathHelper;
+import org.reflections.scanners.Scanners;
import org.reflections.util.ConfigurationBuilder;
-import org.reflections.util.FilterBuilder;
import javax.annotation.Nonnull;
@@ -66,6 +64,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
@@ -244,6 +243,8 @@ public class SqlTestFrameworkConfig
public static class SqlTestFrameworkConfigStore implements Closeable
{
+ private static final int MAX_CACHED_CONFIGS = 32;
+
private final Function<QueryComponentSupplier, QueryComponentSupplier>
queryComponentSupplierWrapper;
public SqlTestFrameworkConfigStore(
@@ -252,13 +253,24 @@ public class SqlTestFrameworkConfig
this.queryComponentSupplierWrapper = queryComponentSupplierWrapper;
}
- Map<SqlTestFrameworkConfig, ConfigurationInstance> configMap = new
HashMap<>();
+ Map<SqlTestFrameworkConfig, ConfigurationInstance> configMap = new
LinkedHashMap<>(16, 0.75f, true)
+ {
+ @Override
+ protected boolean removeEldestEntry(Map.Entry<SqlTestFrameworkConfig,
ConfigurationInstance> eldest)
+ {
+ if (size() > MAX_CACHED_CONFIGS) {
+ eldest.getValue().close();
+ return true;
+ }
+ return false;
+ }
+ };
public ConfigurationInstance getConfigurationInstance(
SqlTestFrameworkConfig config) throws Exception
{
ConfigurationInstance ret = configMap.get(config);
- if (!configMap.containsKey(config)) {
+ if (ret == null) {
ret = new ConfigurationInstance(config, queryComponentSupplierWrapper);
configMap.put(config, ret);
}
@@ -514,13 +526,9 @@ public class SqlTestFrameworkConfig
public Set<Class<? extends QueryComponentSupplier>> load(String pkg)
{
Configuration cfg = new ConfigurationBuilder()
- .setScanners(new SubTypesScanner(true))
- .setUrls(ClasspathHelper.forJavaClassPath())
- .filterInputsBy(
- new FilterBuilder()
- .includePackage(pkg)
- .and(s -> s.contains("ComponentSupplier"))
- );
+ .setScanners(Scanners.SubTypes)
+ .forPackage(pkg.isEmpty() ? "org.apache.druid" : pkg)
+ .filterInputsBy(s -> s.contains("ComponentSupplier"));
final Set<Class<? extends QueryComponentSupplier>>
baseComponentClazzes =
new Reflections(cfg).getSubTypesOf(QueryComponentSupplier.class);
LinkedHashSet<Class<? extends QueryComponentSupplier>> retVal = new
LinkedHashSet<>(baseComponentClazzes);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]