You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When creating a topic, if there is some other client querying stats (or probably many other things), then the creation can fail.
This is because of how BrokerService ensures that only one client can create the topic at a time. A future is inserted into a map for the topic. However, the computation for this future differs depending on where the call to get the topic comes from. If it comes from the admin interface, then it doesn't create the topic if missing. If it comes from producer creation, then it does create the topic if missing.
The problem occurs when a call comes in from the admin interface to get the topic, the future is inserted, then a call to get the topic comes in from producer creation. Producer creation will receive the previously saved future back which will not create the topic if missing, consequently failing the producer creation.
Describe the bug
When creating a topic, if there is some other client querying stats (or probably many other things), then the creation can fail.
This is because of how BrokerService ensures that only one client can create the topic at a time. A future is inserted into a map for the topic. However, the computation for this future differs depending on where the call to get the topic comes from. If it comes from the admin interface, then it doesn't create the topic if missing. If it comes from producer creation, then it does create the topic if missing.
The problem occurs when a call comes in from the admin interface to get the topic, the future is inserted, then a call to get the topic comes in from producer creation. Producer creation will receive the previously saved future back which will not create the topic if missing, consequently failing the producer creation.
To Reproduce
Run this test case:
ivankelly@bda83c5
The text was updated successfully, but these errors were encountered: