Ewen Cheslack-Postava created KAFKA-2786:
--------------------------------------------

             Summary: Only invoke SinkTask onPartitionsRevoked and 
commitOffsets after task has fully started
                 Key: KAFKA-2786
                 URL: https://issues.apache.org/jira/browse/KAFKA-2786
             Project: Kafka
          Issue Type: Bug
          Components: copycat
            Reporter: Ewen Cheslack-Postava
            Assignee: Ewen Cheslack-Postava
            Priority: Minor
             Fix For: 0.9.0.0


Currently we're invoking task.onPartitionsRevoked and commitOffsets on any 
consumer onPartitionsRevoked callback. Since this happens even on the first 
rebalance (which is somewhat unexpected given that partitions cannot actually 
be revoked at that point), we will not be fully setup in the SinkTask and this 
can throw exceptions.

It turns out this is easy to miss for two reasons. First, the code is likely to 
throw an exception, but the consumer catches this and handles it. We end up not 
missing any important steps as a result. Second, the logging was a bit screwed 
up and we weren't getting the full exception stacktrace, just the toString(), 
so it was easy to miss that there was a problem.



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

Reply via email to