Darrel Schneider created GEODE-9734: ---------------------------------------
Summary: ClientPublisher has race causing it to never publish a single message Key: GEODE-9734 URL: https://issues.apache.org/jira/browse/GEODE-9734 Project: Geode Issue Type: Bug Components: redis Reporter: Darrel Schneider The ClientPublisher has a race condition that can cause it to add a message to the queue but not drain it right away. The msg will never be published unless that client publishes a second message. The order of events that cause the race is: 1. drainerThread: set active and publishes current batch 2. drainerThread: calls batch.fill and gets nothing 3. publishThread: adds msg to queue 4. publishThread: tests "active" see it is true so it does not call fillBatchIfNeeded 5. drainerThread: sets "active" to false We now have one msg in the queue that will not be published until we add another msg to the queue. This should be easy to fix. All we need to do in the drainerThread is one more check of the queue after setting active to false -- This message was sent by Atlassian Jira (v8.3.4#803005)