This is an automated email from the ASF dual-hosted git repository.
zixuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 6cc30c93a05 [fix][broker] do not serialize field bundleStats (#18150)
6cc30c93a05 is described below
commit 6cc30c93a05bb16b7ef62ffebc15ceb5e6efb502
Author: thetumbled <[email protected]>
AuthorDate: Tue Oct 25 23:16:29 2022 +0800
[fix][broker] do not serialize field bundleStats (#18150)
* do not serialize field bundleStats
* add unit test.
* use org.testng.Assert.assertFalse
* add apache license header
* fix doc
* fix doc and change the package level.
Co-authored-by: fengwenzhi <[email protected]>
---
.../pulsar/policies/data/loadbalancer/LocalBrokerData.java | 2 ++
.../policies/data/loadbalancer/LocalBrokerDataTest.java | 13 +++++++++++++
2 files changed, 15 insertions(+)
diff --git
a/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerData.java
b/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerData.java
index 377a44d9e41..f8ca9902648 100644
---
a/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerData.java
+++
b/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerData.java
@@ -18,6 +18,7 @@
*/
package org.apache.pulsar.policies.data.loadbalancer;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.Collections;
import java.util.HashMap;
@@ -33,6 +34,7 @@ import java.util.concurrent.ConcurrentHashMap;
/**
* Contains all the data that is maintained locally on each broker.
*/
+@JsonIgnoreProperties(value = {"bundleStats"})
@JsonDeserialize(as = LocalBrokerData.class)
public class LocalBrokerData implements LoadManagerReport {
diff --git
a/pulsar-common/src/test/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerDataTest.java
b/pulsar-common/src/test/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerDataTest.java
index d1a75e6de98..e8723d7c3fe 100644
---
a/pulsar-common/src/test/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerDataTest.java
+++
b/pulsar-common/src/test/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerDataTest.java
@@ -18,11 +18,14 @@
*/
package org.apache.pulsar.policies.data.loadbalancer;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import org.testng.Assert;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
public class LocalBrokerDataTest {
@@ -59,4 +62,14 @@ public class LocalBrokerDataTest {
weight, weight, weight, weight, weight), 0.02,
epsilon);
}
+
+ /*
+ Ensure that there is no bundleStats field in the json string serialized
from LocalBrokerData.
+ */
+ @Test
+ public void testSerializeLocalBrokerData() throws JsonProcessingException {
+ ObjectMapper objectMapper = new ObjectMapper();
+ LocalBrokerData localBrokerData = new LocalBrokerData();
+
assertFalse(objectMapper.writeValueAsString(localBrokerData).contains("bundleStats"));
+ }
}