diff --git a/.github/workflows/static-checks.yml b/.github/workflows/static-checks.yml index 778a79db7618..ca4b928a5a10 100644 --- a/.github/workflows/static-checks.yml +++ b/.github/workflows/static-checks.yml @@ -42,7 +42,7 @@ jobs: fail-fast: false matrix: # Use JDK 21.0.4 to work around https://github.com/apache/druid/issues/17429 - java: [ '11', '17', '21.0.4' ] + java: [ '17', '21.0.4' ] runs-on: ubuntu-latest steps: - name: checkout branch diff --git a/.github/workflows/unit-and-integration-tests-unified.yml b/.github/workflows/unit-and-integration-tests-unified.yml index 11a7d17944be..3cd15cdb649f 100644 --- a/.github/workflows/unit-and-integration-tests-unified.yml +++ b/.github/workflows/unit-and-integration-tests-unified.yml @@ -80,7 +80,7 @@ jobs: fail-fast: false matrix: # Use JDK 21.0.4 to work around https://github.com/apache/druid/issues/17429 - jdk: [ '11', '17', '21.0.4' ] + jdk: [ '17', '21.0.4' ] runs-on: ubuntu-latest steps: - name: Checkout branch @@ -162,7 +162,7 @@ jobs: fail-fast: false matrix: # Use JDK 21.0.4 to work around https://github.com/apache/druid/issues/17429 - jdk: [ '11', '21.0.4' ] + jdk: [ '21.0.4' ] name: "unit tests (jdk${{ matrix.jdk }})" uses: ./.github/workflows/unit-tests.yml needs: unit-tests diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml index bd8c89b4d7f6..89d2e9b7b8fd 100644 --- a/benchmarks/pom.xml +++ b/benchmarks/pom.xml @@ -61,11 +61,7 @@ org.easymock easymock - - com.google.inject.extensions - guice-multibindings - provided - + org.apache.druid druid-processing diff --git a/extensions-contrib/aliyun-oss-extensions/pom.xml b/extensions-contrib/aliyun-oss-extensions/pom.xml index 82ee50eddf97..5ffbb88a78b4 100644 --- a/extensions-contrib/aliyun-oss-extensions/pom.xml +++ b/extensions-contrib/aliyun-oss-extensions/pom.xml @@ -80,11 +80,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + com.google.guava guava diff --git a/extensions-contrib/cassandra-storage/pom.xml b/extensions-contrib/cassandra-storage/pom.xml index 7b5fc2be1831..c7f2a35e973a 100644 --- a/extensions-contrib/cassandra-storage/pom.xml +++ b/extensions-contrib/cassandra-storage/pom.xml @@ -174,11 +174,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + diff --git a/extensions-contrib/cloudfiles-extensions/pom.xml b/extensions-contrib/cloudfiles-extensions/pom.xml index 0fd5018d1311..e5076e1d2284 100644 --- a/extensions-contrib/cloudfiles-extensions/pom.xml +++ b/extensions-contrib/cloudfiles-extensions/pom.xml @@ -56,12 +56,6 @@ - - com.google.inject.extensions - guice-multibindings - provided - - commons-io commons-io diff --git a/extensions-contrib/grpc-query/pom.xml b/extensions-contrib/grpc-query/pom.xml index e46f0c35fd2d..9f224680d9e0 100644 --- a/extensions-contrib/grpc-query/pom.xml +++ b/extensions-contrib/grpc-query/pom.xml @@ -96,11 +96,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + com.google.guava guava diff --git a/extensions-contrib/kubernetes-overlord-extensions/pom.xml b/extensions-contrib/kubernetes-overlord-extensions/pom.xml index 55f970fb9c39..1a349b37a37c 100644 --- a/extensions-contrib/kubernetes-overlord-extensions/pom.xml +++ b/extensions-contrib/kubernetes-overlord-extensions/pom.xml @@ -212,11 +212,7 @@ jackson-databind provided - - com.google.inject.extensions - guice-multibindings - provided - + joda-time joda-time diff --git a/extensions-contrib/materialized-view-selection/pom.xml b/extensions-contrib/materialized-view-selection/pom.xml index 4e44bfde5c6c..620c59b926a2 100644 --- a/extensions-contrib/materialized-view-selection/pom.xml +++ b/extensions-contrib/materialized-view-selection/pom.xml @@ -84,11 +84,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + org.jdbi jdbi diff --git a/extensions-contrib/moving-average-query/pom.xml b/extensions-contrib/moving-average-query/pom.xml index 119296634566..a86c458a1c21 100644 --- a/extensions-contrib/moving-average-query/pom.xml +++ b/extensions-contrib/moving-average-query/pom.xml @@ -79,11 +79,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + com.google.guava guava diff --git a/extensions-contrib/sqlserver-metadata-storage/pom.xml b/extensions-contrib/sqlserver-metadata-storage/pom.xml index 1fd186f9dc84..a3363be1eeab 100644 --- a/extensions-contrib/sqlserver-metadata-storage/pom.xml +++ b/extensions-contrib/sqlserver-metadata-storage/pom.xml @@ -67,11 +67,7 @@ jackson-databind provided - - com.google.inject.extensions - guice-multibindings - provided - + org.apache.commons commons-dbcp2 diff --git a/extensions-core/azure-extensions/pom.xml b/extensions-core/azure-extensions/pom.xml index af36456bbe70..c202194e6d01 100644 --- a/extensions-core/azure-extensions/pom.xml +++ b/extensions-core/azure-extensions/pom.xml @@ -111,11 +111,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + com.google.guava guava diff --git a/extensions-core/google-extensions/pom.xml b/extensions-core/google-extensions/pom.xml index 39f89a2e5a53..dc34d8f1acad 100644 --- a/extensions-core/google-extensions/pom.xml +++ b/extensions-core/google-extensions/pom.xml @@ -82,11 +82,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + com.google.guava guava diff --git a/extensions-core/hdfs-storage/pom.xml b/extensions-core/hdfs-storage/pom.xml index ac8f7878e5d6..881ba1884716 100644 --- a/extensions-core/hdfs-storage/pom.xml +++ b/extensions-core/hdfs-storage/pom.xml @@ -88,11 +88,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + org.apache.commons commons-lang3 diff --git a/extensions-core/kubernetes-extensions/pom.xml b/extensions-core/kubernetes-extensions/pom.xml index 6ef180795e25..1fd0bd0af346 100644 --- a/extensions-core/kubernetes-extensions/pom.xml +++ b/extensions-core/kubernetes-extensions/pom.xml @@ -109,11 +109,7 @@ jackson-databind provided - - com.google.inject.extensions - guice-multibindings - provided - + joda-time joda-time diff --git a/extensions-core/lookups-cached-global/pom.xml b/extensions-core/lookups-cached-global/pom.xml index 6fed0c9cb17b..e0feb8ddf687 100644 --- a/extensions-core/lookups-cached-global/pom.xml +++ b/extensions-core/lookups-cached-global/pom.xml @@ -84,11 +84,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + org.jdbi jdbi diff --git a/extensions-core/multi-stage-query/pom.xml b/extensions-core/multi-stage-query/pom.xml index e2a7252908df..c89a1b92d6a8 100644 --- a/extensions-core/multi-stage-query/pom.xml +++ b/extensions-core/multi-stage-query/pom.xml @@ -71,11 +71,7 @@ guice provided - - com.google.inject.extensions - guice-multibindings - provided - + com.google.guava guava diff --git a/extensions-core/mysql-metadata-storage/pom.xml b/extensions-core/mysql-metadata-storage/pom.xml index 57f5ab4f12aa..be407eb5ed38 100644 --- a/extensions-core/mysql-metadata-storage/pom.xml +++ b/extensions-core/mysql-metadata-storage/pom.xml @@ -78,11 +78,7 @@ jackson-databind provided - - com.google.inject.extensions - guice-multibindings - provided - + org.apache.commons commons-dbcp2 diff --git a/extensions-core/postgresql-metadata-storage/pom.xml b/extensions-core/postgresql-metadata-storage/pom.xml index 9c4159e36e81..fafd54869abb 100644 --- a/extensions-core/postgresql-metadata-storage/pom.xml +++ b/extensions-core/postgresql-metadata-storage/pom.xml @@ -76,11 +76,7 @@ jackson-databind provided - - com.google.inject.extensions - guice-multibindings - provided - + org.apache.commons commons-dbcp2 diff --git a/extensions-core/s3-extensions/pom.xml b/extensions-core/s3-extensions/pom.xml index cb9a03a5bae8..21928e3ad5a0 100644 --- a/extensions-core/s3-extensions/pom.xml +++ b/extensions-core/s3-extensions/pom.xml @@ -87,11 +87,7 @@ jackson-core provided - - com.google.inject.extensions - guice-multibindings - provided - + org.apache.commons commons-lang3 diff --git a/indexing-service/pom.xml b/indexing-service/pom.xml index 412568ea88c9..dd28de400cc2 100644 --- a/indexing-service/pom.xml +++ b/indexing-service/pom.xml @@ -88,11 +88,7 @@ com.fasterxml.jackson.core jackson-databind - - com.google.inject.extensions - guice-multibindings - provided - + javax.ws.rs jsr311-api diff --git a/integration-tests-ex/cases/pom.xml b/integration-tests-ex/cases/pom.xml index 94c42a0555b4..b6c2ffc75f3c 100644 --- a/integration-tests-ex/cases/pom.xml +++ b/integration-tests-ex/cases/pom.xml @@ -83,11 +83,7 @@ com.google.inject guice - - com.google.inject.extensions - guice-multibindings - provided - + org.apache.curator curator-framework diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index be57e12bf3dc..411ba0a2d250 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -278,11 +278,7 @@ com.google.inject guice - - com.google.inject.extensions - guice-multibindings - provided - + com.fasterxml.jackson.core jackson-databind diff --git a/licenses.yaml b/licenses.yaml index 8044beb12bab..7f4412cef7aa 100644 --- a/licenses.yaml +++ b/licenses.yaml @@ -371,7 +371,7 @@ name: Guice license_category: binary module: java-core license_name: Apache License version 2.0 -version: 4.2.2 +version: 5.1.0 libraries: - com.google.inject: guice - com.google.inject.extensions: guice-multibindings diff --git a/pom.xml b/pom.xml index 3f80196334aa..efd546630b7d 100644 --- a/pom.xml +++ b/pom.xml @@ -70,7 +70,7 @@ - 11 + 17 ${java.version} UTF-8 0.9.0.M2 @@ -95,7 +95,7 @@ 2.35.1 8.5.4 32.0.1-jre - 4.2.2 + 5.1.0 1.3 9.4.56.v20240826 1.19.4 @@ -596,11 +596,6 @@ guice-servlet ${guice.version} - - com.google.inject.extensions - guice-multibindings - ${guice.version} - com.google.inject.extensions guice-assistedinject diff --git a/processing/pom.xml b/processing/pom.xml index efcaf62c4b71..c3f758f32139 100644 --- a/processing/pom.xml +++ b/processing/pom.xml @@ -103,11 +103,7 @@ com.google.inject guice - - com.google.inject.extensions - guice-multibindings - provided - + com.google.code.findbugs jsr305 diff --git a/processing/src/test/java/org/apache/druid/guice/PolyBindTest.java b/processing/src/test/java/org/apache/druid/guice/PolyBindTest.java index 372d428458d6..9d940e65f023 100644 --- a/processing/src/test/java/org/apache/druid/guice/PolyBindTest.java +++ b/processing/src/test/java/org/apache/druid/guice/PolyBindTest.java @@ -112,7 +112,7 @@ public void configure(Binder binder) } catch (Exception e) { Assert.assertTrue(e instanceof ProvisionException); - Assert.assertTrue(e.getMessage().contains("Unknown provider [c] of Key[type=org.apache.druid.guice.PolyBindTest$Gogo")); + Assert.assertTrue(e.getMessage().contains("Unknown provider [c] of Key[type=PolyBindTest$Gogo")); } try { Assert.assertEquals("B", injector.getInstance(Key.get(Gogo.class, Names.named("reverse"))).go()); @@ -120,7 +120,7 @@ public void configure(Binder binder) } catch (Exception e) { Assert.assertTrue(e instanceof ProvisionException); - Assert.assertTrue(e.getMessage().contains("Unknown provider [c] of Key[type=org.apache.druid.guice.PolyBindTest$Gogo")); + Assert.assertTrue(e.getMessage().contains("Unknown provider [c] of Key[type=PolyBindTest$Gogo")); } // test default property value @@ -136,7 +136,7 @@ public void configure(Binder binder) } catch (Exception e) { Assert.assertTrue(e instanceof ProvisionException); - Assert.assertTrue(e.getMessage().contains("Unknown provider [c] of Key[type=org.apache.druid.guice.PolyBindTest$GogoSally")); + Assert.assertTrue(e.getMessage().contains("Unknown provider [c] of Key[type=PolyBindTest$GogoSally")); } } diff --git a/processing/src/test/java/org/apache/druid/query/DruidProcessingConfigTest.java b/processing/src/test/java/org/apache/druid/query/DruidProcessingConfigTest.java index e19fbf755402..61b43d24d190 100644 --- a/processing/src/test/java/org/apache/druid/query/DruidProcessingConfigTest.java +++ b/processing/src/test/java/org/apache/druid/query/DruidProcessingConfigTest.java @@ -139,7 +139,7 @@ public void testInvalidSizeBytes() ); Assert.assertTrue( t.getMessage() - .contains("Cannot construct instance of `org.apache.druid.java.util.common.HumanReadableBytes`, problem: Invalid format of number: -1. Negative value is not allowed.") + .contains("Cannot construct instance of `HumanReadableBytes`, problem: Invalid format of number: -1. Negative value is not allowed.") ); } diff --git a/quidem-ut/pom.xml b/quidem-ut/pom.xml index dd88d7fc84fa..6912ec4f2f4e 100644 --- a/quidem-ut/pom.xml +++ b/quidem-ut/pom.xml @@ -262,10 +262,6 @@ com.google.inject guice - - com.google.inject.extensions - guice-multibindings - com.fasterxml.jackson.core jackson-databind diff --git a/server/pom.xml b/server/pom.xml index 45ca282f836f..3a411ce703b1 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -107,11 +107,7 @@ com.sun.jersey jersey-core - - com.google.inject.extensions - guice-multibindings - provided - + com.google.inject.extensions guice-servlet diff --git a/server/src/test/java/org/apache/druid/guice/StorageNodeModuleTest.java b/server/src/test/java/org/apache/druid/guice/StorageNodeModuleTest.java index 082361a1c885..d42fd72faca0 100644 --- a/server/src/test/java/org/apache/druid/guice/StorageNodeModuleTest.java +++ b/server/src/test/java/org/apache/druid/guice/StorageNodeModuleTest.java @@ -76,6 +76,8 @@ public void setUp() target = new StorageNodeModule(); injector = makeInjector(INJECT_SERVER_TYPE_CONFIG); + + Mockito.doReturn(ServerType.BROKER).when(serverTypeConfig).getServerType(); } @Test diff --git a/server/src/test/java/org/apache/druid/server/QuerySchedulerTest.java b/server/src/test/java/org/apache/druid/server/QuerySchedulerTest.java index b670cd4dd787..f9e404efc98d 100644 --- a/server/src/test/java/org/apache/druid/server/QuerySchedulerTest.java +++ b/server/src/test/java/org/apache/druid/server/QuerySchedulerTest.java @@ -68,10 +68,13 @@ import org.apache.druid.server.scheduling.ManualQueryPrioritizationStrategy; import org.apache.druid.server.scheduling.NoQueryLaningStrategy; import org.easymock.EasyMock; +import org.hamcrest.CoreMatchers; +import org.hamcrest.MatcherAssert; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.junit.internal.matchers.ThrowableMessageMatcher; import java.io.IOException; import java.util.ArrayList; @@ -493,14 +496,18 @@ public void testMisConfigHiLo() properties.setProperty(propertyPrefix + ".laning.strategy", "hilo"); provider.inject(properties, injector.getInstance(JsonConfigurator.class)); Throwable t = Assert.assertThrows(ProvisionException.class, () -> provider.get().get()); - Assert.assertEquals( - "Unable to provision, see the following errors:\n" - + "\n" - + "1) Problem parsing object at prefix[druid.query.scheduler]: Cannot construct instance of `org.apache.druid.server.scheduling.HiLoQueryLaningStrategy`, problem: maxLowPercent must be set\n" - + " at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: org.apache.druid.server.QuerySchedulerProvider[\"laning\"]).\n" - + "\n" - + "1 error", - t.getMessage() + MatcherAssert.assertThat( + t, + ThrowableMessageMatcher.hasMessage( + CoreMatchers.startsWith( + "Unable to provision, see the following errors:\n" + + "\n" + + "1) Problem parsing object at prefix[druid.query.scheduler]: Cannot construct instance of `HiLoQueryLaningStrategy`, problem: maxLowPercent must be set\n" + + " at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: QuerySchedulerProvider[\"laning\"]).\n" + + "\n" + + "1 error" + ) + ) ); } @@ -550,14 +557,18 @@ public void testMisConfigThreshold() properties.setProperty(propertyPrefix + ".prioritization.strategy", "threshold"); provider.inject(properties, injector.getInstance(JsonConfigurator.class)); Throwable t = Assert.assertThrows(ProvisionException.class, () -> provider.get().get()); - Assert.assertEquals( - "Unable to provision, see the following errors:\n" - + "\n" - + "1) Problem parsing object at prefix[druid.query.scheduler]: Cannot construct instance of `org.apache.druid.server.scheduling.ThresholdBasedQueryPrioritizationStrategy`, problem: periodThreshold, durationThreshold, segmentCountThreshold or segmentRangeThreshold must be set\n" - + " at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: org.apache.druid.server.QuerySchedulerProvider[\"prioritization\"]).\n" - + "\n" - + "1 error", - t.getMessage() + MatcherAssert.assertThat( + t, + ThrowableMessageMatcher.hasMessage( + CoreMatchers.startsWith( + "Unable to provision, see the following errors:\n" + + "\n" + + "1) Problem parsing object at prefix[druid.query.scheduler]: Cannot construct instance of `ThresholdBasedQueryPrioritizationStrategy`, problem: periodThreshold, durationThreshold, segmentCountThreshold or segmentRangeThreshold must be set\n" + + " at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: QuerySchedulerProvider[\"prioritization\"]).\n" + + "\n" + + "1 error" + ) + ) ); } diff --git a/services/pom.xml b/services/pom.xml index 7b681a1e7e17..5f46dd40f6d2 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -157,11 +157,7 @@ com.sun.jersey jersey-server - - com.google.inject.extensions - guice-multibindings - provided - + org.roaringbitmap RoaringBitmap diff --git a/sql/pom.xml b/sql/pom.xml index 1c68ad0c0ed5..32d3131588db 100644 --- a/sql/pom.xml +++ b/sql/pom.xml @@ -128,11 +128,7 @@ com.opencsv opencsv - - com.google.inject.extensions - guice-multibindings - provided - + javax.ws.rs jsr311-api