diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt
index dad4ea90e97af..25b6787d420df 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 ad5b0567f7194..79b6a40804aa0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -155,7 +155,7 @@ flexible messaging model and an intuitive client API.
2.41
1.10.50
0.16.0
- 4.3.8
+ 4.5.8
7.9.2
2.0.13
4.4
@@ -251,7 +251,7 @@ flexible messaging model and an intuitive client API.
5.3.27
4.5.13
4.4.15
- 0.7.5
+ 0.7.7
0.3.0
2.0
1.10.12
@@ -265,6 +265,7 @@ flexible messaging model and an intuitive client API.
${opentelemetry.instrumentation.version}-alpha
1.25.0-alpha
4.7.5
+ 3.3.2
1.18.3
@@ -384,6 +385,12 @@ flexible messaging model and an intuitive client API.
${mockito.version}
+
+ dev.failsafe
+ failsafe
+ ${failsafe.version}
+
+
org.apache.zookeeper
zookeeper
@@ -509,6 +516,11 @@ flexible messaging model and an intuitive client API.
vertx-web
${vertx.version}
+
+ io.vertx
+ vertx-grpc
+ ${vertx.version}
+
org.apache.curator
@@ -607,6 +619,13 @@ flexible messaging model and an intuitive client API.
+
+ io.grpc
+ grpc-util
+
+ 1.60.0
+
+
org.apache.bookkeeper
bookkeeper-common
diff --git a/tests/integration/pom.xml b/tests/integration/pom.xml
index af564e2fed7db..b23395b0ad2e5 100644
--- a/tests/integration/pom.xml
+++ b/tests/integration/pom.xml
@@ -115,6 +115,12 @@
test
+
+ dev.failsafe
+ failsafe
+ test
+
+
org.testcontainers
mysql
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 4492f6a407520..7c47a0dcff89b 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 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 statusRetryPolicy = new RetryPolicy()
+ 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 e5b524ebbef8b..3736bd0155343 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.assertTrue;
import static org.testng.Assert.fail;
+import dev.failsafe.Failsafe;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -46,7 +47,6 @@
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 b843e146e2985..daf645020ce5a 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.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 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 762dd34e17c91..8f45f0604e378 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;