Stig Rohde Døssing created KAFKA-4375:
-----------------------------------------
Summary: Kafka consumer may swallow some interrupts meant for the
calling thread
Key: KAFKA-4375
URL: https://issues.apache.org/jira/browse/KAFKA-4375
Project: Kafka
Issue Type: Bug
Components: clients
Reporter: Stig Rohde Døssing
Apache Storm has added a new data source ("spout") based on the Kafka 0.9
consumer. Storm interacts with the consumer by having one thread per spout
instance loop calls to poll/commitSync etc. When Storm shuts down, another
thread indicates that the looping threads should shut down by interrupting
them, and joining them.
If one of the looping threads happen to be interrupted while executing certain
sleeps in some consumer methods (commitSync and committed at least), the
interrupt can be lost because they contain a call to SystemTime.sleep, which
swallows the interrupt.
Is this behavior by design, or can SystemTime be changed to reset the thread
interrupt flag when catching an InterruptedException?
I haven't checked the rest of the client code, so it's possible that this is an
issue in other parts of the code too.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)