Subject: [DISCUSS] KIP-399: Extend ProductionExceptionHandler to cover serialization exceptions


Matt,
    I agree with Matthias on not to altering the serializer as it's used by
multiple components.

Matthias,

 - the proposed method accepts a `ProducerRecord` -- it might be good to
explain why this cannot be done in a type safe way (ie, missing generics)

To accept different types of records from multiple topologies, I have to
define the ProducerRecord without generics.

- `AlwaysProductionExceptionHandler` ->
`AlwaysContinueProductionExceptionHandler`

Updated the typo error in KIP.

 - `DefaultProductionExceptionHandler` is not mentioned

The `handleSerializationException` method in the
`ProductionExceptionHandler` interface will have default implementation
that is set to FAIL by default.
This is done to avoid any changes in the user implementation. So, I didn't
mentioned the `DefaultProductionExceptionHandler` class. Updated the KIP.

- Why do you distinguish between `ClassCastException` and "any other
unchecked exception? Both second case seems to include the first one?

In SinkNode.java#93
<https://github.com/apache/kafka/blob/87cc31c4e7ea36e7e832a1d02d71480a91a75293/streams/src/main/java/org/apache/kafka/streams/processor/internals/SinkNode.java#L93>
on
hitting `ClassCastException`, we are halting the streams as it's a fatal
error.
To keep the original behavior, I've to distinguish the exceptions.
On Thu, Dec 6, 2018 at 10:44 PM Matthias J. Sax <[EMAIL PROTECTED]>
wrote: