ivankelly opened a new pull request #9256: URL: https://github.com/apache/pulsar/pull/9256
ServerCnx had a callback that was called from Producer/Consumer which would remove the producer/consumer from its map using only the ID. However, it is possible that this callback runs when the producer/consumer had already been removed from the map and another producer/consumer added in its place. The solution is to use both the key and value when removing from the map. The change also updates the log messages to include the producerId and consumerId in a format that all log messages for an individual producerId/consumerId can be easier found. A test has been changed because the test was depending on the broken behaviour. What was happening was that the fail topic producer was failing to create a producer, and when this happened it removed the producer future for the successful producer. Then, when the third producer tries to connect, it sees manages to create the producer on the connection, but fails as there is already a producer with that name on the topic. The correct behaviour is that it should see the successful producer future for that ID and respond with success. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected]
