You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Jungtaek Lim (JIRA)" <ji...@apache.org> on 2016/12/29 00:34:58 UTC

[jira] [Resolved] (STORM-2104) New Kafka spout crashes if partitions are reassigned while tuples are in-flight

     [ https://issues.apache.org/jira/browse/STORM-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jungtaek Lim resolved STORM-2104.
---------------------------------
       Resolution: Fixed
    Fix Version/s: 1.1.0

Thanks [~Srdo], I also merged this into 1.x branch.

> New Kafka spout crashes if partitions are reassigned while tuples are in-flight
> -------------------------------------------------------------------------------
>
>                 Key: STORM-2104
>                 URL: https://issues.apache.org/jira/browse/STORM-2104
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: storm-kafka
>    Affects Versions: 2.0.0, 1.1.0
>            Reporter: Stig Rohde Døssing
>            Assignee: Stig Rohde Døssing
>             Fix For: 2.0.0, 1.1.0
>
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> The new KafkaSpout may throw NPEs if partitions are reassigned while tuples are in-flight. The ack function assumes that the spout instance is always responsible for tuples it emitted, which isn't true if partitions were reassigned since the tuple was emitted. The fail function also assumes that failed tuples should be replayed, which is useless if the tuple is for a partition the spout isn't assigned, since it then can't commit the tuple if it succeeds. Both functions should check that the spout instance is responsible for the incoming tuple before scheduling it for retry or adding it to the acked list.



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