Versions Compared

Key

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

...


Punctuation is triggered when either: -

  • the stream time advances past the (stream time of the previous punctuation) + streamTimeInterval;

...

  • or (iff systemTimeUpperBound is set) when the system time advances past the (system time of the previous punctuation) + systemTimeUpperBound

In either case: -

  • we trigger punctuate passing as the argument the stream time at which the current punctuation was meant to happen

...

  • next punctuate is scheduled at (stream time at which the current punctuation was meant to happen) + streamTimeInterval

 

Drawbacks:

  • It's been argued this type of hybrid punctuation is more difficult to reason about than separate stream-time and system-time punctuations and the approach need further thought
  • Some problems with this algorithm have been identified for edge case scenarios (see discussion thread)

The current proposal opens the door to adding more PunctuationTypes in the future and so after further discussion and in a separate KIP, other approaches such as the hybrid one can be added later on.

 

Compatibility, Deprecation, and Migration Plan

...