...
- This is a breaking, incompatible change because (1) TimestampExtractor interface is changed and (2) we changed an exception.
- If user has a custom timestamp extractor, she needs to change her code (otherwise it won't compile)
- Using default timestamp extractor and if use reacts to source node exception:
StreamsException("Extracted timestamp value is negative, which is not allowed.");
she must change code an react on - gets changed
- By default, the overall behavior is the same as before this KIP (using default timestamp extractor use user gets an exception in case of a negative timestamp)
- Even if the exception is throw from a different point and the exception message changes (the exception type is the same:
StreamsException
) the use cannot recover from the exception anyway (i.e., user cannot recover with current behavior and this will not change)
- Even if the exception is throw from a different point and the exception message changes (the exception type is the same:
Required Code changes:
- Custom timestamp extractors must be updated by the user to adopt the new interface.:
- recompile to avoid runtime exception
- code change to adapt to new interface (to make it compile)
Test Plan
The feature can be tested via unit tests.
...