We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Original Issue: apache#733
Producer reconnect to broker after server restart.
In the current code, I find that if a connection is closed, it will try to stop all producer listeners and consumer handlers registered on it. But if the producer has set the connection to conn and does not register the listener to this connection in https://github.com/apache/pulsar-client-go/blob/1df5596aa7a351c6f43edb53f54b2a14b83b0073/pulsar/producer_partition.go#L264-L265. And the connection is closed by another goroutine because of connection.handleSendError https://github.com/apache/pulsar-client-go/blob/1df5596aa7a351c6f43edb53f54b2a14b83b0073/pulsar/internal/connection.go#L793. The producer can not do reconnectToBroker because no signal will sent to connectClosedCh.
conn
connection.handleSendError
reconnectToBroker
connectClosedCh
Maybe we should check the result of RegisterListener and call ConnectionClosed by manually?
RegisterListener
ConnectionClosed
It's not stable to reproduce
Pulsar version: 0.7.0
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Original Issue: apache#733
Expected behavior
Producer reconnect to broker after server restart.
Actual behavior
In the current code, I find that if a connection is closed, it will try to stop all producer listeners and consumer handlers registered on it. But if the producer has set the connection to
conn
and does not register the listener to this connection in https://github.com/apache/pulsar-client-go/blob/1df5596aa7a351c6f43edb53f54b2a14b83b0073/pulsar/producer_partition.go#L264-L265. And the connection is closed by another goroutine because ofconnection.handleSendError
https://github.com/apache/pulsar-client-go/blob/1df5596aa7a351c6f43edb53f54b2a14b83b0073/pulsar/internal/connection.go#L793. The producer can not doreconnectToBroker
because no signal will sent toconnectClosedCh
.Maybe we should check the result of
RegisterListener
and callConnectionClosed
by manually?Steps to reproduce
It's not stable to reproduce
System configuration
Pulsar version: 0.7.0
The text was updated successfully, but these errors were encountered: