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)