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

xyz 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 6985521  fix: prevent rpc client panic on rpc response if 
`ProducerReady` is nil (#973)
6985521 is described below

commit 69855216709c9480b3578d6bb57fee73867b27d2
Author: Sekfung Lau <sekfung....@gmail.com>
AuthorDate: Wed Mar 8 18:38:00 2023 +0800

    fix: prevent rpc client panic on rpc response if `ProducerReady` is nil 
(#973)
    
    ### Motivation
    
    prevent rpc client panic on rpc response if `ProducerReady` is nil
    
    ### Modifications
    
    use `ProducerSuccess.GetProducerReady` instead of 
`ProducerSuccess.ProducerReady`
---
 pulsar/internal/connection.go | 2 +-
 pulsar/internal/rpc_client.go | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pulsar/internal/connection.go b/pulsar/internal/connection.go
index 55d04f3..59aad16 100644
--- a/pulsar/internal/connection.go
+++ b/pulsar/internal/connection.go
@@ -525,7 +525,7 @@ func (c *connection) internalReceivedCommand(cmd 
*pb.BaseCommand, headersAndPayl
                c.handleResponse(cmd.Success.GetRequestId(), cmd)
 
        case pb.BaseCommand_PRODUCER_SUCCESS:
-               if !*cmd.ProducerSuccess.ProducerReady {
+               if !cmd.ProducerSuccess.GetProducerReady() {
                        request, ok := 
c.findPendingRequest(cmd.ProducerSuccess.GetRequestId())
                        if ok {
                                request.callback(cmd, nil)
diff --git a/pulsar/internal/rpc_client.go b/pulsar/internal/rpc_client.go
index 0ee8ca9..2213083 100644
--- a/pulsar/internal/rpc_client.go
+++ b/pulsar/internal/rpc_client.go
@@ -138,7 +138,7 @@ func (c *rpcClient) Request(logicalAddr *url.URL, 
physicalAddr *url.URL, request
                        // Ignoring producer not ready response.
                        // Continue to wait for the producer to create 
successfully
                        if res.error == nil && *res.RPCResult.Response.Type == 
pb.BaseCommand_PRODUCER_SUCCESS {
-                               if 
!*res.RPCResult.Response.ProducerSuccess.ProducerReady {
+                               if 
!res.RPCResult.Response.ProducerSuccess.GetProducerReady() {
                                        timeoutCh = nil
                                        break
                                }

Reply via email to