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 bbb543d8ed2 [improve][client] Refactor client version format (#19643)
bbb543d8ed2 is described below

commit bbb543d8ed2b03361807c852da1a31cfb92939f3
Author: Zike Yang <[email protected]>
AuthorDate: Tue Feb 28 12:30:15 2023 +0800

    [improve][client] Refactor client version format (#19643)
    
    Signed-off-by: Zike Yang <[email protected]>
---
 .../apache/pulsar/client/impl/ClientCnxTest.java   | 26 ++++++++++++++++++++++
 .../org/apache/pulsar/client/impl/ClientCnx.java   |  9 ++++----
 .../org/apache/pulsar/proxy/server/ProxyTest.java  |  2 +-
 3 files changed, 32 insertions(+), 5 deletions(-)

diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/ClientCnxTest.java 
b/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/ClientCnxTest.java
index 322cf524dbe..d2f610ae53f 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/ClientCnxTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/ClientCnxTest.java
@@ -23,11 +23,15 @@ import io.netty.channel.ChannelHandlerContext;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import org.apache.pulsar.PulsarVersion;
 import org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest;
 import org.apache.pulsar.client.api.Consumer;
+import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.Schema;
 import org.apache.pulsar.common.policies.data.ClusterData;
 import org.apache.pulsar.common.policies.data.TenantInfoImpl;
 import org.awaitility.Awaitility;
+import org.testng.Assert;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
@@ -97,4 +101,26 @@ public class ClientCnxTest extends 
MockedPulsarServiceBaseTest {
         });
 
     }
+
+    @Test
+    public void testClientVersion() throws Exception {
+        final String expectedVersion = String.format("Pulsar-Java-v%s", 
PulsarVersion.getVersion());
+        final String topic = "persistent://" + NAMESPACE + 
"/testClientVersion";
+
+        Producer<String> producer = pulsarClient.newProducer(Schema.STRING)
+                .topic(topic)
+                .create();
+
+        Consumer<String> consumer = pulsarClient.newConsumer(Schema.STRING)
+                .subscriptionName("my-sub")
+                .topic(topic)
+                .subscribe();
+
+        
Assert.assertEquals(admin.topics().getStats(topic).getPublishers().get(0).getClientVersion(),
 expectedVersion);
+        
Assert.assertEquals(admin.topics().getStats(topic).getSubscriptions().get("my-sub").getConsumers().get(0)
+                .getClientVersion(), expectedVersion);
+
+        producer.close();
+        consumer.close();
+    }
 }
diff --git 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java
index 5074d0f55ef..7780856c694 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java
@@ -293,7 +293,8 @@ public class ClientCnx extends PulsarHandler {
         authenticationDataProvider = 
authentication.getAuthData(remoteHostName);
         AuthData authData = 
authenticationDataProvider.authenticate(AuthData.INIT_AUTH_DATA);
         return Commands.newConnect(authentication.getAuthMethodName(), 
authData, this.protocolVersion,
-                PulsarVersion.getVersion(), proxyToTargetBrokerAddress, null, 
null, null);
+                String.format("Pulsar-Java-v%s", PulsarVersion.getVersion()), 
proxyToTargetBrokerAddress, null, null,
+                null);
     }
 
     @Override
@@ -408,9 +409,9 @@ public class ClientCnx extends PulsarHandler {
             checkState(!authData.isComplete());
 
             ByteBuf request = 
Commands.newAuthResponse(authentication.getAuthMethodName(),
-                authData,
-                this.protocolVersion,
-                PulsarVersion.getVersion());
+                    authData,
+                    this.protocolVersion,
+                    String.format("Pulsar-Java-v%s", 
PulsarVersion.getVersion()));
 
             if (log.isDebugEnabled()) {
                 log.debug("{} Mutual auth {}", ctx.channel(), 
authentication.getAuthMethodName());
diff --git 
a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTest.java 
b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTest.java
index af128ce036f..237cf5a4811 100644
--- a/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTest.java
+++ b/pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTest.java
@@ -331,7 +331,7 @@ public class ProxyTest extends MockedPulsarServiceBaseTest {
 
 
         
Assert.assertEquals(admin.topics().getStats(topic).getSubscriptions().get(subName).getConsumers()
-                .get(0).getClientVersion(), PulsarVersion.getVersion());
+                .get(0).getClientVersion(), String.format("Pulsar-Java-v%s", 
PulsarVersion.getVersion()));
     }
 
     private static PulsarClient 
getClientActiveConsumerChangeNotSupported(ClientConfigurationData conf)

Reply via email to