This is an automated email from the ASF dual-hosted git repository. mmerli pushed a commit to branch branch-3.3 in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-3.3 by this push: new d924f3d6ed6 [improve] Upgrade Jetcd to 0.7.7 and VertX to 4.5.8 (#22835) d924f3d6ed6 is described below commit d924f3d6ed6a6062edee22df8175b5cfbe63b980 Author: Matteo Merli <mme...@apache.org> AuthorDate: Tue Jun 4 03:18:39 2024 -0700 [improve] Upgrade Jetcd to 0.7.7 and VertX to 4.5.8 (#22835) --- distribution/server/src/assemble/LICENSE.bin.txt | 23 +++++++++++----------- pom.xml | 23 ++++++++++++++++++++-- tests/integration/pom.xml | 6 ++++++ .../tests/integration/io/PulsarIOTestRunner.java | 7 ++++--- .../integration/io/sinks/PulsarIOSinkRunner.java | 2 +- .../io/sources/PulsarIOSourceRunner.java | 2 +- .../debezium/PulsarIODebeziumSourceRunner.java | 2 +- 7 files changed, 46 insertions(+), 19 deletions(-) diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt index 668034721a7..4101804a792 100644 --- a/distribution/server/src/assemble/LICENSE.bin.txt +++ b/distribution/server/src/assemble/LICENSE.bin.txt @@ -447,6 +447,7 @@ The Apache Software License, Version 2.0 - io.grpc-grpc-rls-1.56.0.jar - io.grpc-grpc-servlet-1.56.0.jar - io.grpc-grpc-servlet-jakarta-1.56.0.jar + - io.grpc-grpc-util-1.60.0.jar * Perfmark - io.perfmark-perfmark-api-0.26.0.jar * OpenCensus @@ -455,7 +456,7 @@ The Apache Software License, Version 2.0 - io.opencensus-opencensus-proto-0.2.0.jar * Jodah - net.jodah-typetools-0.5.0.jar - - net.jodah-failsafe-2.4.4.jar + - dev.failsafe-failsafe-3.3.2.jar * Byte Buddy - net.bytebuddy-byte-buddy-1.14.12.jar * zt-zip @@ -492,12 +493,12 @@ The Apache Software License, Version 2.0 * JCTools - Java Concurrency Tools for the JVM - org.jctools-jctools-core-2.1.2.jar * Vertx - - io.vertx-vertx-auth-common-4.3.8.jar - - io.vertx-vertx-bridge-common-4.3.8.jar - - io.vertx-vertx-core-4.3.8.jar - - io.vertx-vertx-web-4.3.8.jar - - io.vertx-vertx-web-common-4.3.8.jar - - io.vertx-vertx-grpc-4.3.5.jar + - io.vertx-vertx-auth-common-4.5.8.jar + - io.vertx-vertx-bridge-common-4.5.8.jar + - io.vertx-vertx-core-4.5.8.jar + - io.vertx-vertx-web-4.5.8.jar + - io.vertx-vertx-web-common-4.5.8.jar + - io.vertx-vertx-grpc-4.5.8.jar * Apache ZooKeeper - org.apache.zookeeper-zookeeper-3.9.2.jar - org.apache.zookeeper-zookeeper-jute-3.9.2.jar @@ -510,10 +511,10 @@ The Apache Software License, Version 2.0 - com.google.auto.value-auto-value-annotations-1.10.1.jar - com.google.re2j-re2j-1.7.jar * Jetcd - - io.etcd-jetcd-api-0.7.5.jar - - io.etcd-jetcd-common-0.7.5.jar - - io.etcd-jetcd-core-0.7.5.jar - - io.etcd-jetcd-grpc-0.7.5.jar + - io.etcd-jetcd-api-0.7.7.jar + - io.etcd-jetcd-common-0.7.7.jar + - io.etcd-jetcd-core-0.7.7.jar + - io.etcd-jetcd-grpc-0.7.7.jar * IPAddress - com.github.seancfoley-ipaddress-5.3.3.jar * RxJava diff --git a/pom.xml b/pom.xml index 0c2d35c2402..af45b297b8c 100644 --- a/pom.xml +++ b/pom.xml @@ -152,7 +152,7 @@ flexible messaging model and an intuitive client API.</description> <jersey.version>2.41</jersey.version> <athenz.version>1.10.50</athenz.version> <prometheus.version>0.16.0</prometheus.version> - <vertx.version>4.3.8</vertx.version> + <vertx.version>4.5.8</vertx.version> <rocksdb.version>7.9.2</rocksdb.version> <slf4j.version>2.0.13</slf4j.version> <commons.collections4.version>4.4</commons.collections4.version> @@ -248,7 +248,7 @@ flexible messaging model and an intuitive client API.</description> <spring.version>5.3.27</spring.version> <apache-http-client.version>4.5.13</apache-http-client.version> <apache-httpcomponents.version>4.4.15</apache-httpcomponents.version> - <jetcd.version>0.7.5</jetcd.version> + <jetcd.version>0.7.7</jetcd.version> <oxia.version>0.2.0</oxia.version> <snakeyaml.version>2.0</snakeyaml.version> <ant.version>1.10.12</ant.version> @@ -262,6 +262,7 @@ flexible messaging model and an intuitive client API.</description> <opentelemetry.instrumentation.alpha.version>${opentelemetry.instrumentation.version}-alpha</opentelemetry.instrumentation.alpha.version> <opentelemetry.semconv.version>1.25.0-alpha</opentelemetry.semconv.version> <picocli.version>4.7.5</picocli.version> + <failsafe.version>3.3.2</failsafe.version> <!-- test dependencies --> <testcontainers.version>1.18.3</testcontainers.version> @@ -381,6 +382,12 @@ flexible messaging model and an intuitive client API.</description> <version>${mockito.version}</version> </dependency> + <dependency> + <groupId>dev.failsafe</groupId> + <artifactId>failsafe</artifactId> + <version>${failsafe.version}</version> + </dependency> + <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> @@ -506,6 +513,11 @@ flexible messaging model and an intuitive client API.</description> <artifactId>vertx-web</artifactId> <version>${vertx.version}</version> </dependency> + <dependency> + <groupId>io.vertx</groupId> + <artifactId>vertx-grpc</artifactId> + <version>${vertx.version}</version> + </dependency> <dependency> <groupId>org.apache.curator</groupId> @@ -604,6 +616,13 @@ flexible messaging model and an intuitive client API.</description> </exclusions> </dependency> + <dependency> + <groupId>io.grpc</groupId> + <artifactId>grpc-util</artifactId> + <!-- This is only used for JEtcd so far. Once we upgrade Grpc to >= 1.60, we can remove the special version pin --> + <version>1.60.0</version> + </dependency> + <dependency> <groupId>org.apache.bookkeeper</groupId> <artifactId>bookkeeper-common</artifactId> diff --git a/tests/integration/pom.xml b/tests/integration/pom.xml index 2da1b882d93..c7ee901b0a6 100644 --- a/tests/integration/pom.xml +++ b/tests/integration/pom.xml @@ -115,6 +115,12 @@ <scope>test</scope> </dependency> + <dependency> + <groupId>dev.failsafe</groupId> + <artifactId>failsafe</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.testcontainers</groupId> <artifactId>mysql</artifactId> diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/PulsarIOTestRunner.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/PulsarIOTestRunner.java index 4492f6a4075..7c47a0dcff8 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/PulsarIOTestRunner.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/PulsarIOTestRunner.java @@ -18,6 +18,7 @@ */ package org.apache.pulsar.tests.integration.io; +import dev.failsafe.RetryPolicy; import java.time.Duration; import java.util.LinkedHashMap; import java.util.Map; @@ -33,7 +34,6 @@ import org.apache.pulsar.tests.integration.topologies.PulsarCluster; import lombok.Cleanup; import lombok.extern.slf4j.Slf4j; -import net.jodah.failsafe.RetryPolicy; @Slf4j public abstract class PulsarIOTestRunner { @@ -42,10 +42,11 @@ public abstract class PulsarIOTestRunner { final Duration ONE_MINUTE = Duration.ofMinutes(1); final Duration TEN_SECONDS = Duration.ofSeconds(10); - protected final RetryPolicy<Void> statusRetryPolicy = new RetryPolicy<Void>() + protected final RetryPolicy<?> statusRetryPolicy = RetryPolicy.builder() .withMaxDuration(ONE_MINUTE) .withDelay(TEN_SECONDS) - .onRetry(e -> log.error("Retry ... ")); + .onRetry(e -> log.error("Retry ... ")) + .build(); protected PulsarCluster pulsarCluster; protected String functionRuntimeType; diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sinks/PulsarIOSinkRunner.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sinks/PulsarIOSinkRunner.java index e5b524ebbef..3736bd01553 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sinks/PulsarIOSinkRunner.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sinks/PulsarIOSinkRunner.java @@ -22,6 +22,7 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import static org.testng.Assert.fail; +import dev.failsafe.Failsafe; import java.util.LinkedHashMap; import java.util.Map; @@ -46,7 +47,6 @@ import com.google.gson.Gson; import lombok.Cleanup; import lombok.extern.slf4j.Slf4j; -import net.jodah.failsafe.Failsafe; @Slf4j public class PulsarIOSinkRunner extends PulsarIOTestRunner { diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarIOSourceRunner.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarIOSourceRunner.java index b843e146e29..daf645020ce 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarIOSourceRunner.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/PulsarIOSourceRunner.java @@ -22,6 +22,7 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import static org.testng.Assert.fail; +import dev.failsafe.Failsafe; import java.util.Map; import org.apache.commons.lang3.StringUtils; @@ -45,7 +46,6 @@ import com.google.gson.Gson; import lombok.Cleanup; import lombok.extern.slf4j.Slf4j; -import net.jodah.failsafe.Failsafe; @Slf4j public class PulsarIOSourceRunner extends PulsarIOTestRunner { diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/debezium/PulsarIODebeziumSourceRunner.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/debezium/PulsarIODebeziumSourceRunner.java index 762dd34e17c..8f45f0604e3 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/debezium/PulsarIODebeziumSourceRunner.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/io/sources/debezium/PulsarIODebeziumSourceRunner.java @@ -19,9 +19,9 @@ package org.apache.pulsar.tests.integration.io.sources.debezium; import com.google.common.base.Preconditions; +import dev.failsafe.Failsafe; import lombok.Cleanup; import lombok.extern.slf4j.Slf4j; -import net.jodah.failsafe.Failsafe; import org.apache.pulsar.client.api.Consumer; import org.apache.pulsar.client.api.PulsarClient; import org.apache.pulsar.client.api.SubscriptionInitialPosition;