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"));
+    }
 }

Reply via email to