wolfstudy edited a comment on issue #697:
URL: 
https://github.com/apache/pulsar-client-go/issues/697#issuecomment-1006366136


   @bschofield Thanks for your work on this. The #691 change ignores some 
problems. When the producer is closed, it may cause the go rutine to leak, so I 
submitted a new pull request and listened to the action of the producer close 
by adding the `closeCh` of the event notification to ensure that the producer 
is closed. When closed, the go rutine of reconnect can exit normally. The new 
pull request is here https://github.com/apache/pulsar-client-go/pull/700, PTAL.
   
   In addition, the problem you encountered here seems to be somewhat different 
from the problem I encountered. Indeed, for some reason, the broker proactively 
notified and disconnected from the producer, and then in the stage of trying to 
reconnect, the reconnection failed due to `request time out`. Because this 
problem is difficult to reproduce, there is still no way to determine where 
`p.grabCnx()` is blocked, causing the reconnection to fail.
   
   
   > 2021-12-29 16:13:02 
{"level":"warn","ts":1640794382.4651952,"caller":"messaging/logging_zap.go:87","msg":"Received
 send error from server: [[PersistenceError 
org.apache.bookkeeper.mledger.ManagedLedgerException: Bookie operation 
timeout]] : 
[%!s(MISSING)]","remote_addr":"pulsar://10.244.0.2:6650","local_addr":"10.244.0.113:54102"}
   
   This seems to be that the broker returned a clear error. When the broker 
tried to read data from bookie, the read operation timed out.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to