Nicholas Telford created KAFKA-15600:
----------------------------------------

             Summary: KIP-990: Capability to SUSPEND Tasks on 
DeserializationException
                 Key: KAFKA-15600
                 URL: https://issues.apache.org/jira/browse/KAFKA-15600
             Project: Kafka
          Issue Type: Improvement
          Components: streams
            Reporter: Nicholas Telford


Presently, Kafka Streams provides users with two options for handling a 
{{DeserializationException}}  via the {{DeserializationExceptionHandler}}  
interface:
 # {{FAIL}} - throw an Exception that causes the stream thread to fail. This 
will either cause the whole application instance to exit, or the stream thread 
will be replaced and restarted. Either way, the failed {{Task}} will end up 
being resumed, either by the current instance or after being rebalanced to 
another, causing a cascading failure until a user intervenes to address the 
problem.
 # {{CONTINUE}} - discard the record and continue processing with the next 
record. This can cause data loss if the record triggering the 
{{DeserializationException}} should be considered a valid record. This can 
happen if an upstream producer changes the record schema in a way that is 
incompatible with the streams application, or if there is a bug in the 
{{Deserializer}}  (for example, failing to handle a valid edge-case).

The user can currently choose between data loss, or a cascading failure that 
usually causes all processing to slowly grind to a halt.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to