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());