Versions Compared

Key

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

...

  • 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)

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.

...