hubcio opened a new pull request, #3986: URL: https://github.com/apache/iggy/pull/3986
Two requests failing at once are one reconnect, but the teardown that precedes it went by transport state alone. Connect marks the client connected before it signs in, so the second caller -- parked on c.mtx for the length of that sign-in -- woke to a healthy-looking state and closed the socket the first caller's reconnect had just established. That left the first caller replaying over nothing, failing it with ErrNotConnected, and started a second attempt for a reconnect that had already happened. Stamp every installed connection with a generation and carry it out of the attempt that ran on it, so the teardown is a no-op once the connection has been replaced. The leader redirect took the same stale teardown and now drops a redirect decided on a connection that is gone. Surfaced as a flaky TestConnect_ConcurrentReconnectsThroughExchangeShareOneAttempt. -- 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]
