RohithDevarshetty opened a new pull request, #23238:
URL: https://github.com/apache/kafka/pull/23238
### Summary
`DefaultTaskManager.awaitProcessableTasks` used a single
`Condition.await()` call after checking for processable tasks. Since condition
waits may wake spuriously, the method could return even when there were still
no processable tasks available.
This change keeps awaiting in a loop until one of these is true:
- a task can make progress
- shutdown is requested
- the waiter is interrupted
A regression test verifies that a signal without any processable task does
not release the waiter.
### Testing
```bash
./gradlew :streams:spotlessApply :streams:test --tests
org.apache.kafka.streams.processor.internals.tasks.DefaultTaskManagerTest
Result: BUILD SUCCESSFUL.
--
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]