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

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


The following commit(s) were added to refs/heads/main by this push:
     new 2bf832c  Update Pulsar to 2.11.0 (#123)
2bf832c is described below

commit 2bf832c2cb176c5514748dc266bb6cfc09ab37da
Author: Chris Bono <[email protected]>
AuthorDate: Wed Mar 22 13:24:35 2023 -0500

    Update Pulsar to 2.11.0 (#123)
    
    * Update Pulsar to 2.11.0
    
    * Add Mac M1 support for running ITs
    
    * Update Reactor to 3.5.4
    
    - Handle removed Schedulers.elastic() by
      switching usages of it to Schedulers.boundedElastic()
    
    * Update to Jackson 2.14.2
---
 gradle/libs.versions.toml                          |  6 +++---
 .../client/adapter/SingletonPulsarContainer.java   | 25 +++++++++++++++++++---
 .../reactive/client/jackson/ConverterUtils.java    |  3 +--
 .../jackson/PulsarReactiveClientModuleTest.java    |  9 +++++++-
 4 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 98a80ed..1aa80f6 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -17,16 +17,16 @@
 # under the License.
 #
 [versions]
-pulsar = "2.10.2"
+pulsar = "2.11.0"
 junit-jupiter = "5.8.2"
 log4j = "2.18.0"
 slf4j = "1.7.36"
-reactor = "3.4.22"
+reactor = "3.5.4"
 assertj = "3.23.1"
 testcontainers = "1.17.3"
 jctools = "3.3.0"
 caffeine = "2.9.3"
-jackson = "2.13.4"
+jackson = "2.14.2"
 checkstyle = '8.45.1'
 spring-javaformat = '0.0.34'
 licenser = "0.6.1"
diff --git 
a/pulsar-client-reactive-adapter/src/intTest/java/org/apache/pulsar/reactive/client/adapter/SingletonPulsarContainer.java
 
b/pulsar-client-reactive-adapter/src/intTest/java/org/apache/pulsar/reactive/client/adapter/SingletonPulsarContainer.java
index 61202a0..2d88f8d 100644
--- 
a/pulsar-client-reactive-adapter/src/intTest/java/org/apache/pulsar/reactive/client/adapter/SingletonPulsarContainer.java
+++ 
b/pulsar-client-reactive-adapter/src/intTest/java/org/apache/pulsar/reactive/client/adapter/SingletonPulsarContainer.java
@@ -19,6 +19,8 @@
 
 package org.apache.pulsar.reactive.client.adapter;
 
+import java.util.Locale;
+
 import org.apache.pulsar.client.api.PulsarClient;
 import org.apache.pulsar.client.api.PulsarClientException;
 import org.testcontainers.containers.PulsarContainer;
@@ -31,9 +33,8 @@ final class SingletonPulsarContainer {
        }
 
        /** The singleton instance for Pulsar container. */
-       static PulsarContainer PULSAR_CONTAINER = new PulsarContainer(
-                       
DockerImageName.parse("apachepulsar/pulsar").withTag("2.10.2"))
-                                       
.withEnv("PULSAR_PREFIX_acknowledgmentAtBatchIndexLevelEnabled", "true");
+       static PulsarContainer PULSAR_CONTAINER = new 
PulsarContainer(getPulsarImage())
+                       
.withEnv("PULSAR_PREFIX_acknowledgmentAtBatchIndexLevelEnabled", "true");
 
        static {
                PULSAR_CONTAINER.start();
@@ -44,4 +45,22 @@ final class SingletonPulsarContainer {
                                .build();
        }
 
+       static DockerImageName getPulsarImage() {
+               return isRunningOnMacM1() ? getMacM1PulsarImage() : 
getStandardPulsarImage();
+       }
+
+       private static boolean isRunningOnMacM1() {
+               String osName = 
System.getProperty("os.name").toLowerCase(Locale.ENGLISH);
+               String osArchitecture = 
System.getProperty("os.arch").toLowerCase(Locale.ENGLISH);
+               return osName.contains("mac") && 
osArchitecture.equals("aarch64");
+       }
+
+       private static DockerImageName getStandardPulsarImage() {
+               return DockerImageName.parse("apachepulsar/pulsar:2.11.0");
+       }
+
+       private static DockerImageName getMacM1PulsarImage() {
+               return 
DockerImageName.parse("kezhenxu94/pulsar").asCompatibleSubstituteFor("apachepulsar/pulsar");
+       }
+
 }
diff --git 
a/pulsar-client-reactive-jackson/src/main/java/org/apache/pulsar/reactive/client/jackson/ConverterUtils.java
 
b/pulsar-client-reactive-jackson/src/main/java/org/apache/pulsar/reactive/client/jackson/ConverterUtils.java
index 2bbb1bd..54691e1 100644
--- 
a/pulsar-client-reactive-jackson/src/main/java/org/apache/pulsar/reactive/client/jackson/ConverterUtils.java
+++ 
b/pulsar-client-reactive-jackson/src/main/java/org/apache/pulsar/reactive/client/jackson/ConverterUtils.java
@@ -98,9 +98,8 @@ abstract class ConverterUtils {
                        case "single":
                                return Schedulers.single();
                        case "boundedElastic":
-                               return Schedulers.boundedElastic();
                        case "elastic":
-                               return Schedulers.elastic();
+                               return Schedulers.boundedElastic();
                        case "immediate":
                                return Schedulers.immediate();
                        default:
diff --git 
a/pulsar-client-reactive-jackson/src/test/java/org/apache/pulsar/reactive/client/jackson/PulsarReactiveClientModuleTest.java
 
b/pulsar-client-reactive-jackson/src/test/java/org/apache/pulsar/reactive/client/jackson/PulsarReactiveClientModuleTest.java
index 02f7a46..8fd7501 100644
--- 
a/pulsar-client-reactive-jackson/src/test/java/org/apache/pulsar/reactive/client/jackson/PulsarReactiveClientModuleTest.java
+++ 
b/pulsar-client-reactive-jackson/src/test/java/org/apache/pulsar/reactive/client/jackson/PulsarReactiveClientModuleTest.java
@@ -450,7 +450,7 @@ class PulsarReactiveClientModuleTest {
        }
 
        @ParameterizedTest
-       @ValueSource(strings = { "parallel", "elastic", "boundedElastic", 
"immediate", "single" })
+       @ValueSource(strings = { "parallel", "boundedElastic", "immediate", 
"single" })
        void shouldSerDeserScheduler(String scheduler) throws Exception {
                String content = (String.format("\"%s\"", scheduler));
                Scheduler policy = MAPPER.readValue(content, Scheduler.class);
@@ -458,6 +458,13 @@ class PulsarReactiveClientModuleTest {
                assertThat(json).isEqualTo(content);
        }
 
+       @Test
+       void shouldSerDeserDeprecatedElasticScheduler() throws Exception {
+               Scheduler policy = MAPPER.readValue("\"elastic\"", 
Scheduler.class);
+               String json = MAPPER.writeValueAsString(policy);
+               assertThat(json).isEqualTo("\"boundedElastic\"");
+       }
+
        @Test
        void shouldSerializeCustomScheduler() throws Exception {
                String json = MAPPER.writeValueAsString(new TestScheduler());

Reply via email to