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)

Reply via email to