You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2024/06/13 07:44:12 UTC

(pulsar) 02/05: [improve] Upgrade Jetcd to 0.7.7 and VertX to 4.5.8 (#22835)

This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 406d0b02d11eef97b842d84c44c6babe40ffaf14
Author: Matteo Merli <mm...@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)
    
    (cherry picked from commit be5eb919f8c9fb4612fea74054eee8c1412b954b)
    (cherry picked from commit 46b5419224c1a821ec0b9a839d0d7da57ac5f181)
---
 distribution/server/src/assemble/LICENSE.bin.txt   | 23 +++++++++++-----------
 pom.xml                                            | 23 ++++++++++++++++++++--
 pulsar-sql/presto-distribution/LICENSE             | 17 ++++++++--------
 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 +-
 8 files changed, 55 insertions(+), 27 deletions(-)

diff --git a/distribution/server/src/assemble/LICENSE.bin.txt b/distribution/server/src/assemble/LICENSE.bin.txt
index 50aa63977aa..ba356456baf 100644
--- a/distribution/server/src/assemble/LICENSE.bin.txt
+++ b/distribution/server/src/assemble/LICENSE.bin.txt
@@ -436,6 +436,7 @@ The Apache Software License, Version 2.0
     - io.grpc-grpc-rls-1.55.3.jar
     - io.grpc-grpc-servlet-1.55.3.jar
     - io.grpc-grpc-servlet-jakarta-1.55.3.jar
+    - io.grpc-grpc-util-1.60.0.jar
   * Perfmark
     - io.perfmark-perfmark-api-0.26.0.jar
   * OpenCensus
@@ -444,7 +445,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
@@ -476,12 +477,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
@@ -494,10 +495,10 @@ The Apache Software License, Version 2.0
     - com.google.auto.value-auto-value-annotations-1.9.jar
     - com.google.re2j-re2j-1.6.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 b4b68b99031..93437f7796c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -150,7 +150,7 @@ flexible messaging model and an intuitive client API.</description>
     <jersey.version>2.34</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>1.7.32</slf4j.version>
     <commons.collections4.version>4.4</commons.collections4.version>
@@ -248,13 +248,14 @@ 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>
     <snakeyaml.version>2.0</snakeyaml.version>
     <ant.version>1.10.12</ant.version>
     <seancfoley.ipaddress.version>5.3.3</seancfoley.ipaddress.version>
     <disruptor.version>3.4.3</disruptor.version>
     <zstd-jni.version>1.5.2-3</zstd-jni.version>
     <netty-reactive-streams.version>2.0.6</netty-reactive-streams.version>
+    <failsafe.version>3.3.2</failsafe.version>
 
     <!-- test dependencies -->
     <testcontainers.version>1.18.3</testcontainers.version>
@@ -374,6 +375,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>
@@ -495,6 +502,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>
@@ -593,6 +605,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/pulsar-sql/presto-distribution/LICENSE b/pulsar-sql/presto-distribution/LICENSE
index 03187ff3900..982d5db850b 100644
--- a/pulsar-sql/presto-distribution/LICENSE
+++ b/pulsar-sql/presto-distribution/LICENSE
@@ -271,17 +271,18 @@ The Apache Software License, Version 2.0
     - grpc-protobuf-1.55.3.jar
     - grpc-protobuf-lite-1.55.3.jar
     - grpc-stub-1.55.3.jar
+    - grpc-util-1.60.0.jar
   * JEtcd
-    - jetcd-api-0.7.5.jar
-    - jetcd-common-0.7.5.jar
-    - jetcd-core-0.7.5.jar
-    - jetcd-grpc-0.7.5.jar
+    - jetcd-api-0.7.7.jar
+    - jetcd-common-0.7.7.jar
+    - jetcd-core-0.7.7.jar
+    - jetcd-grpc-0.7.7.jar
   * Vertx
-    - vertx-core-4.3.8.jar
-    - vertx-grpc-4.3.5.jar
+    - vertx-core-4.5.8.jar
+    - vertx-grpc-4.5.8.jar
  * Joda Time
     - joda-time-2.10.10.jar
-    - failsafe-2.4.4.jar
+    - failsafe-3.3.2.jar
   * Jetty
     - http2-client-9.4.54.v20240208.jar
     - http2-common-9.4.54.v20240208.jar
@@ -306,7 +307,7 @@ The Apache Software License, Version 2.0
   * Bytecode
     - bytecode-1.2.jar
   * Airlift
-    - aircompressor-0.20.jar
+    - aircompressor-0.27.jar
     - bootstrap-213.jar
     - concurrent-213.jar
     - configuration-213.jar
diff --git a/tests/integration/pom.xml b/tests/integration/pom.xml
index 6474b5811dc..e68fab7477f 100644
--- a/tests/integration/pom.xml
+++ b/tests/integration/pom.xml
@@ -102,6 +102,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;