[ https://issues.apache.org/jira/browse/KAFKA-15600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicholas Telford updated KAFKA-15600: ------------------------------------- Summary: KIP-990: Capability to PAUSE Tasks on DeserializationException (was: KIP-990: Capability to SUSPEND Tasks on DeserializationException) > KIP-990: Capability to PAUSE 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 > Priority: Minor > Labels: kip > > 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)