gunli commented on PR #1336:
URL: 
https://github.com/apache/pulsar-client-go/pull/1336#issuecomment-2705367507

   > @gunli The failure of `TestAvailablePermitsLeak` occurs because when a 
consumer with `ConsumerCryptoFailureActionDiscard` receives a message, it sends 
an acknowledgment command to the broker. However, since both read and write 
operations are handled within the same goroutine, the write operation can block 
the read operation. This results in a deadlock-like situation where the read 
operation cannot proceed, ultimately leading to a `context.DeadlineExceeded` 
error.
   > 
   > To resolve this issue, read and write operations should be handled in 
separate goroutines to avoid blocking and ensure smooth message processing.
   
   OK, I will create a new PR to fix this, it seems `connection.incomingCmdCh` 
is redundant, because reading is run in a seperate goroutine: `go 
c.reader.readFromConnection()`.


-- 
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