You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by yo...@apache.org on 2021/04/14 02:26:30 UTC

[pulsar] 06/10: Fix: seemingly equal ClientConfigurationData's objects end up not being equal (#10091)

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

yong pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 0b3e51029a2e1d51241aee91bed45b14a7c3425b
Author: Andrey Yegorov <86...@users.noreply.github.com>
AuthorDate: Mon Apr 5 10:12:53 2021 -0700

    Fix: seemingly equal ClientConfigurationData's objects end up not being equal (#10091)
    
    * fixed equals for the ClientConfigurationData (found while fixing tests in pulsar-adapters repo)
    
    * added test/repro
    
    * CR feedback
    
    (cherry picked from commit 8a2c5cc2ba170ddce50712e48c053c187da98d60)
---
 .../pulsar/client/impl/conf/ClientConfigurationData.java     |  2 +-
 .../pulsar/client/impl/conf/ConfigurationDataUtilsTest.java  | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
index b68caf1..ca81669 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
@@ -103,7 +103,7 @@ public class ClientConfigurationData implements Serializable, Cloneable {
 
     public Authentication getAuthentication() {
         if (authentication == null) {
-            this.authentication = new AuthenticationDisabled();
+            this.authentication = AuthenticationDisabled.INSTANCE;
         }
         return authentication;
     }
diff --git a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/conf/ConfigurationDataUtilsTest.java b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/conf/ConfigurationDataUtilsTest.java
index a1bafbd..ba94726 100644
--- a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/conf/ConfigurationDataUtilsTest.java
+++ b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/conf/ConfigurationDataUtilsTest.java
@@ -138,4 +138,16 @@ public class ConfigurationDataUtilsTest {
         assertEquals(pulsarClient.getConfiguration().getStatsIntervalSeconds(), 80,
                 "builder default should overrite if set explicitly");
     }
+
+    @Test
+    public void testEquals() {
+        ClientConfigurationData confData1 = new ClientConfigurationData();
+        confData1.setServiceUrl("pulsar://unknown:6650");
+
+        ClientConfigurationData confData2 = new ClientConfigurationData();
+        confData2.setServiceUrl("pulsar://unknown:6650");
+
+        assertEquals(confData1, confData2);
+        assertEquals(confData1.hashCode(), confData2.hashCode());
+    }
 }