You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Stig Rohde Døssing (JIRA)" <ji...@apache.org> on 2016/11/03 19:24:58 UTC

[jira] [Created] (KAFKA-4375) Kafka consumer may swallow some interrupts meant for the calling thread

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)