You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2021/06/15 01:27:16 UTC
[pulsar-client-go] branch master updated: fix nil pointer error
with `GetPartitionedTopicMetadata` (#536)
This is an automated email from the ASF dual-hosted git repository.
mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-client-go.git
The following commit(s) were added to refs/heads/master by this push:
new cb72395 fix nil pointer error with `GetPartitionedTopicMetadata` (#536)
cb72395 is described below
commit cb72395fb53fe24f20c75e2123dc9cae38603eaf
Author: Rui Fu <fr...@users.noreply.github.com>
AuthorDate: Tue Jun 15 09:27:09 2021 +0800
fix nil pointer error with `GetPartitionedTopicMetadata` (#536)
* fix nil pointer error
* update
* fix lint
* add more context in error msg
---
pulsar/internal/lookup_service.go | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/pulsar/internal/lookup_service.go b/pulsar/internal/lookup_service.go
index eb63077..0602080 100644
--- a/pulsar/internal/lookup_service.go
+++ b/pulsar/internal/lookup_service.go
@@ -190,11 +190,23 @@ func (ls *lookupService) GetPartitionedTopicMetadata(topic string) (*Partitioned
}
ls.log.Debugf("Got topic{%s} partitioned metadata response: %+v", topic, res)
- if res.Response.PartitionMetadataResponse.Error != nil {
- return nil, errors.New(res.Response.PartitionMetadataResponse.GetError().String())
+ var partitionedTopicMetadata PartitionedTopicMetadata
+
+ if res.Response.Error != nil {
+ return nil, errors.New(res.Response.GetError().String())
+ }
+
+ if res.Response.PartitionMetadataResponse != nil {
+ if res.Response.PartitionMetadataResponse.Error != nil {
+ return nil, errors.New(res.Response.PartitionMetadataResponse.GetError().String())
+ }
+
+ partitionedTopicMetadata.Partitions = int(res.Response.PartitionMetadataResponse.GetPartitions())
+ } else {
+ return nil, fmt.Errorf("no partitioned metadata for topic{%s} in lookup response", topic)
}
- return &PartitionedTopicMetadata{Partitions: int(res.Response.PartitionMetadataResponse.GetPartitions())}, nil
+ return &partitionedTopicMetadata, nil
}
func (ls *lookupService) Close() {}