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

[jira] [Commented] (STORM-2184) New Kafka spout will fail to commit offsets on shutdown if there are offsets to commit

    [ https://issues.apache.org/jira/browse/STORM-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15633678#comment-15633678 ] 

Stig Rohde Døssing commented on STORM-2184:
-------------------------------------------

Hi [~rawind]
I think I misunderstood the issue. As far as I know Storm doesn't call multiple methods on a spout at the same time, so the call to KafkaConsumer.wakeup shouldn't be there at all.

> New Kafka spout will fail to commit offsets on shutdown if there are offsets to commit
> --------------------------------------------------------------------------------------
>
>                 Key: STORM-2184
>                 URL: https://issues.apache.org/jira/browse/STORM-2184
>             Project: Apache Storm
>          Issue Type: Bug
>            Reporter: Stig Rohde Døssing
>            Assignee: Stig Rohde Døssing
>            Priority: Trivial
>
> As far as I know spout methods are not called concurrently by Storm. When the new Kafka spout closes or deactivates, the closing thread calls KafkaConsumer.wakeup. If there are uncommitted offsets and the spout is in manual commit mode, it then tries to commit offsets. Since there are no other threads concurrently interacting with the spout, the call to KafkaConsumer.commitSync will end up throwing WakeupException. This is because the behavior of wakeup is to cause the next blocking call to throw WakeupException if there are no other threads blocking on the consumer when wakeup is called. 
> The call to wakeup should be removed, since it does nothing if there are no offsets to commit, and causes an uncaught exception if there are.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)