This is an automated email from the ASF dual-hosted git repository.
zixuan pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new da4db5e8c91 [fix][client] Fix LoadManagerReport not found (#23886)
da4db5e8c91 is described below
commit da4db5e8c9153197e86598a72595478f3994226e
Author: Zixuan Liu <[email protected]>
AuthorDate: Sat Jan 25 02:44:16 2025 +0800
[fix][client] Fix LoadManagerReport not found (#23886)
(cherry picked from commit 223eea027beb1a7e95ff4519db181268b4636829)
---
pulsar-client-admin-shaded/pom.xml | 7 +++++++
pulsar-client-all/pom.xml | 7 +++++++
pulsar-client-shaded/pom.xml | 7 +++++++
.../org/apache/pulsar/common/util/ObjectMapperFactory.java | 11 +----------
.../java/org/apache/pulsar/tests/integration/SmokeTest.java | 1 +
.../java/org/apache/pulsar/tests/integration/SmokeTest.java | 1 +
6 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/pulsar-client-admin-shaded/pom.xml
b/pulsar-client-admin-shaded/pom.xml
index 937048757be..3f5f92466ec 100644
--- a/pulsar-client-admin-shaded/pom.xml
+++ b/pulsar-client-admin-shaded/pom.xml
@@ -345,6 +345,13 @@
<relocation>
<pattern>org.apache.pulsar.policies</pattern>
<shadedPattern>org.apache.pulsar.shade.org.apache.pulsar.policies</shadedPattern>
+ <!-- exclude references to unshaded classes and interfaces
in
https://github.com/apache/pulsar/tree/master/pulsar-client-admin-api/src/main/java/org/apache/pulsar/policies/data/loadbalancer
-->
+ <excludes>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.LoadManagerReport</exclude>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats</exclude>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.ResourceUsage</exclude>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.ServiceLookupData</exclude>
+ </excludes>
</relocation>
<relocation>
<pattern>org.asynchttpclient</pattern>
diff --git a/pulsar-client-all/pom.xml b/pulsar-client-all/pom.xml
index 30e2d56390b..e853a420908 100644
--- a/pulsar-client-all/pom.xml
+++ b/pulsar-client-all/pom.xml
@@ -405,6 +405,13 @@
<relocation>
<pattern>org.apache.pulsar.policies</pattern>
<shadedPattern>org.apache.pulsar.shade.org.apache.pulsar.policies</shadedPattern>
+ <!-- exclude references to unshaded classes and interfaces
in
https://github.com/apache/pulsar/tree/master/pulsar-client-admin-api/src/main/java/org/apache/pulsar/policies/data/loadbalancer
-->
+ <excludes>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.LoadManagerReport</exclude>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats</exclude>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.ResourceUsage</exclude>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.ServiceLookupData</exclude>
+ </excludes>
</relocation>
<relocation>
<pattern>org.asynchttpclient</pattern>
diff --git a/pulsar-client-shaded/pom.xml b/pulsar-client-shaded/pom.xml
index 0ca599f188e..a68883833cf 100644
--- a/pulsar-client-shaded/pom.xml
+++ b/pulsar-client-shaded/pom.xml
@@ -317,6 +317,13 @@
<relocation>
<pattern>org.apache.pulsar.policies</pattern>
<shadedPattern>org.apache.pulsar.shade.org.apache.pulsar.policies</shadedPattern>
+ <!-- exclude references to unshaded classes and interfaces
in
https://github.com/apache/pulsar/tree/master/pulsar-client-admin-api/src/main/java/org/apache/pulsar/policies/data/loadbalancer
-->
+ <excludes>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.LoadManagerReport</exclude>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats</exclude>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.ResourceUsage</exclude>
+
<exclude>org.apache.pulsar.policies.data.loadbalancer.ServiceLookupData</exclude>
+ </excludes>
</relocation>
<relocation>
<pattern>org.asynchttpclient</pattern>
diff --git
a/pulsar-common/src/main/java/org/apache/pulsar/common/util/ObjectMapperFactory.java
b/pulsar-common/src/main/java/org/apache/pulsar/common/util/ObjectMapperFactory.java
index 7b235cfa341..cd88ccdd4ef 100644
---
a/pulsar-common/src/main/java/org/apache/pulsar/common/util/ObjectMapperFactory.java
+++
b/pulsar-common/src/main/java/org/apache/pulsar/common/util/ObjectMapperFactory.java
@@ -32,7 +32,6 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
import java.util.concurrent.atomic.AtomicReference;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.ClassUtils;
import org.apache.pulsar.client.admin.internal.data.AuthPoliciesImpl;
import org.apache.pulsar.common.functions.FunctionConfig;
import org.apache.pulsar.common.functions.FunctionState;
@@ -260,15 +259,7 @@ public class ObjectMapperFactory {
mapper.addMixIn(FunctionState.class, JsonIgnorePropertiesMixIn.class);
mapper.addMixIn(Metrics.class, MetricsMixIn.class);
- try {
- // We look for LoadManagerReport first, then add deserializer to
the module
- // With shaded client, org.apache.pulsar.policies is relocated to
- // org.apache.pulsar.shade.org.apache.pulsar.policies
-
ClassUtils.getClass("org.apache.pulsar.policies.data.loadbalancer.LoadManagerReport");
- module.addDeserializer(LoadManagerReport.class, new
LoadReportDeserializer());
- } catch (ClassNotFoundException e) {
- log.debug("Add LoadManagerReport deserializer failed because
LoadManagerReport.class has been shaded", e);
- }
+ module.addDeserializer(LoadManagerReport.class, new
LoadReportDeserializer());
module.setAbstractTypes(resolver);
diff --git
a/tests/pulsar-client-admin-shade-test/src/test/java/org/apache/pulsar/tests/integration/SmokeTest.java
b/tests/pulsar-client-admin-shade-test/src/test/java/org/apache/pulsar/tests/integration/SmokeTest.java
index 990a0a8211c..3dde44b2e91 100644
---
a/tests/pulsar-client-admin-shade-test/src/test/java/org/apache/pulsar/tests/integration/SmokeTest.java
+++
b/tests/pulsar-client-admin-shade-test/src/test/java/org/apache/pulsar/tests/integration/SmokeTest.java
@@ -86,6 +86,7 @@ public class SmokeTest extends TestRetrySupport {
expectedNamespacesList.add("public/default");
expectedNamespacesList.add("public/functions");
Assert.assertEquals(admin.namespaces().getNamespaces("public"),
expectedNamespacesList);
+ admin.brokerStats().getLoadReport();
}
@Override
diff --git
a/tests/pulsar-client-all-shade-test/src/test/java/org/apache/pulsar/tests/integration/SmokeTest.java
b/tests/pulsar-client-all-shade-test/src/test/java/org/apache/pulsar/tests/integration/SmokeTest.java
index e5eef415a51..6b1837f5b8e 100644
---
a/tests/pulsar-client-all-shade-test/src/test/java/org/apache/pulsar/tests/integration/SmokeTest.java
+++
b/tests/pulsar-client-all-shade-test/src/test/java/org/apache/pulsar/tests/integration/SmokeTest.java
@@ -86,6 +86,7 @@ public class SmokeTest extends TestRetrySupport {
expectedNamespacesList.add("public/default");
expectedNamespacesList.add("public/functions");
Assert.assertEquals(admin.namespaces().getNamespaces("public"),
expectedNamespacesList);
+ admin.brokerStats().getLoadReport();
}
@Override