Details
Description
If a source task blocks during its stop method, the herder thread will also block, which can cause issues with detecting rebalances, reconfiguring connectors, and other vital functions of a Connect worker.
This occurs because the call to SourceTask::stop occurs on the herder's thread, instead of on the source task's own dedicated thread. This can be fixed by moving the call to SourceTask::stop onto the source task's dedicated thread and aligning with the current approach for Connector instances and SinkTask instances.
Attachments
Issue Links
- causes
-
KAFKA-15090 Source tasks are no longer stopped on a separate thread
- In Progress
- is duplicated by
-
KAFKA-12726 misbehaving Task.stop() can prevent other Tasks from stopping
- Resolved
- is related to
-
KAFKA-14670 Refactor connect plugins to be called from wrapper classes
- In Progress
- relates to
-
KAFKA-6566 SourceTask#stop() not called after exception raised in poll()
- Resolved
- links to