Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Changed behaviour: The default behaviour stays as it is, but the user can change the behaviour by implementing the handle() function.

Test Plan

Some unit and integration tests will be implemented to ensure that

  • exceptions are caught by the ProducerExceptionHandler and the provided implementations.
  • the right exceptions are caught.

No unit tests are needed to ensure the backward compatibility. Passing the current unit tests is an enough indicator.

...

Rejected Alternatives

Using one or more producer configs instead of having a pluggable interface: mis-using produce configs has the same drawbacks of using the interface while the interface solution provides a handler with the advantage of full flexibility. Later, further KIPs can be proposed to cover more exceptions or more actions for handing. 

...