Skip to content

Commit e2f46c6

Browse files
authored
[improve] Support ClientVersion in 2.x pulsar broker (#1383)
Master Issue: #1379 ### Motivation Replace pulsar go client version format `Pulsar Go <version>` with `Pulsar-Go-<version>` to support 2.x pulsar broker stats command. ### Modifications Update client version format in pulsar/internal/version.go.
1 parent faffa30 commit e2f46c6

File tree

5 files changed

+16
-8
lines changed

5 files changed

+16
-8
lines changed

pulsar/client_impl_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,9 @@ func TestTokenAuthWithClientVersion(t *testing.T) {
246246
topicState, err := admin.Topics().GetStats(*topicName)
247247
assert.Nil(t, err)
248248
publisher := topicState.Publishers[0]
249-
assert.True(t, strings.HasPrefix(publisher.ClientVersion, "Pulsar Go version"))
249+
assert.True(t, strings.HasPrefix(publisher.ClientVersion, "Pulsar-Go-version"))
250250
assert.True(t, strings.HasSuffix(publisher.ClientVersion, "-test-client"))
251+
assert.NotContains(t, publisher.ClientVersion, " ")
251252
}
252253

253254
func TestTokenAuthWithSupplier(t *testing.T) {

pulsar/consumer_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5027,7 +5027,8 @@ func TestClientVersion(t *testing.T) {
50275027
topicState, err := admin.Topics().GetStats(*topicName)
50285028
assert.Nil(t, err)
50295029
publisher := topicState.Publishers[0]
5030-
assert.True(t, strings.HasPrefix(publisher.ClientVersion, "Pulsar Go version"))
5030+
assert.True(t, strings.HasPrefix(publisher.ClientVersion, "Pulsar-Go-version"))
5031+
assert.NotContains(t, publisher.ClientVersion, " ")
50315032

50325033
topic = newTopicName()
50335034
client, err = NewClient(ClientOptions{
@@ -5045,9 +5046,9 @@ func TestClientVersion(t *testing.T) {
50455046
topicState, err = admin.Topics().GetStats(*topicName)
50465047
assert.Nil(t, err)
50475048
publisher = topicState.Publishers[0]
5048-
assert.True(t, strings.HasPrefix(publisher.ClientVersion, "Pulsar Go version"))
5049+
assert.True(t, strings.HasPrefix(publisher.ClientVersion, "Pulsar-Go-version"))
50495050
assert.True(t, strings.HasSuffix(publisher.ClientVersion, "-test-client"))
5050-
5051+
assert.NotContains(t, publisher.ClientVersion, " ")
50515052
}
50525053

50535054
func TestSelectConnectionForSameConsumer(t *testing.T) {

pulsar/internal/version.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ func init() {
4040
for _, dep := range buildInfo.Deps {
4141
if dep.Path == pulsarClientGoModulePath {
4242
Version = semver.Canonical(dep.Version)
43-
ClientVersionString = "Pulsar Go " + Version
43+
ClientVersionString = "Pulsar-Go-" + Version
4444
return
4545
}
4646
}
4747
}
4848
Version = "unknown"
49-
ClientVersionString = "Pulsar Go version unknown"
49+
ClientVersionString = "Pulsar-Go-version-unknown"
5050
}

pulsar/internal/version_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,7 @@ import (
2626
func TestInitVersion(t *testing.T) {
2727
assert.NotEmpty(t, Version, "version string should not be empty")
2828
}
29+
30+
func TestVersionHasNoSpaces(t *testing.T) {
31+
assert.NotContains(t, Version, " ", "version string should not contain any white space")
32+
}

pulsaradmin/pkg/admin/topic_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,8 @@ func TestPartitionState(t *testing.T) {
212212
assert.Equal(t, publisher.IsSupportsPartialProducer, false)
213213
assert.Equal(t, publisher.ProducerName, producerName)
214214
assert.Contains(t, publisher.Address, "127.0.0.1")
215-
assert.Contains(t, publisher.ClientVersion, "Pulsar Go version")
215+
assert.Contains(t, publisher.ClientVersion, "Pulsar-Go-version")
216+
assert.NotContains(t, publisher.ClientVersion, " ")
216217

217218
sub := topicState.Subscriptions[subName]
218219
assert.Equal(t, sub.BytesOutCounter, int64(0))
@@ -244,7 +245,8 @@ func TestPartitionState(t *testing.T) {
244245
assert.Equal(t, consumerState.ChunkedMessageRate, float64(0))
245246
assert.Equal(t, consumerState.AvgMessagesPerEntry, int(0))
246247
assert.Contains(t, consumerState.Address, "127.0.0.1")
247-
assert.Contains(t, consumerState.ClientVersion, "Pulsar Go version")
248+
assert.Contains(t, consumerState.ClientVersion, "Pulsar-Go-version")
249+
assert.NotContains(t, consumerState.ClientVersion, " ")
248250
assert.Equal(t, consumerState.LastAckedTimestamp, int64(0))
249251
assert.Equal(t, consumerState.LastConsumedTimestamp, int64(0))
250252
assert.True(t, consumerState.LastConsumedFlowTimestamp > 0)

0 commit comments

Comments
 (0)