A. Sophie Blee-Goldman created KAFKA-12737:
----------------------------------------------

             Summary: Commit all healthy tasks after a task-specific error for 
better task isolation and reduced overcounting under ALOS
                 Key: KAFKA-12737
                 URL: https://issues.apache.org/jira/browse/KAFKA-12737
             Project: Kafka
          Issue Type: Improvement
          Components: streams
            Reporter: A. Sophie Blee-Goldman


At the moment any time we hit the exception handler, an unclean shutdown will 
be triggered on that thread, which means no tasks will be committed. For 
certain kinds of exceptions this is unavoidable: for example if the consumer 
has dropped out of the group then by definition it can’t commit during 
shutdown, and the task will have already been reassigned to another 
StreamThread. However there are many common scenarios in which we can (and 
should) attempt to commit all the tasks which are in a clean state, ie everyone 
except for the task currently being processed when the exception occurred. A 
good example of this is de/serialization or user code errors, as well as 
exceptions that occur during an operation like closing or suspending a 
particular task. In all those cases, there’s no need to throw away all the 
progress that has been made by the unaffected tasks who just happened to be 
assigned to the same StreamThread.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to