Versions Compared

Key

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

...

This is a pure client side change which only affects the resiliency of new Producer client and Streams, no compatibility issue.. For customized EOS use case, user needs to change their exception catching logic to take TransactionStateCorruptedException into the consideration, but should be minor code change required without breaking compatibility. 

Rejected Alternatives

We thought about exhausting all the possible exception types on the Streams level for resiliency, but abandoned the approach pretty soon as it would require a joint code change every time the underlying Producer client throws a new exception. The encapsulation should help reduce the amount of work on the caller side for exception handling.