KAFKA-7699: Anchored punctuation
This PR implements Processor API interfaces for using Anchored punctuation. As described in https://cwiki.apache.org/confluence/display/KAFKA/KIP-1146%3A+Anchored+punctuation, anchored punctuations allows the users of the PAPI to set both a start time and an interval for when the punctuations should be triggered. The changes have been based on all the places where org.apache.kafka.streams.processor.internals.ProcessorContext.schedule() is used.
The changes consist of introducing new interfaces as the punctuation time logic in the org.apache.kafka.streams.processor.internals.PunctuationSchedule already supports calculating a new punctuation time based on a start time and an interval.
The original schedule() implementations have been refactored into using the new schedule() implementation supporting the startTime parameter. For the original implementations, the startTime parameter has been sat to null, effectively using the "method overloading" programming technique.
Would really appreciate input from @mjsax, @ableegoldman or @bbejeck as this is my first PR to the Kafka project :)
Very good work!
@hermanjakobsen build failure seems related
@hermanjakobsen build failure seems related
I'm having a hard time seeing why :/ Running all the tests in StreamTaskTest.java locally works fine:
Also, this MR is not touching the StreamMetricsImpl class.
I know what it is, a PR has been merged that changes StreamsMetricsImpl constructor to
final String clientId,
final String processId,
final String applicationId,
final Time time) {
But this PR has
final String clientId,
final String processId,
final Time time) {
Can I ask you to rebase this PR again? I think that will fix things
Tried to do a rebase now
OK I pulled down the PR and can confirm the error
I think we just need to update line 3489 and we'll get clean build and get this merged
Fixed the rebase mistake 😇
Merged #19937 into trunk
@hermanjakobsen can you do a follow-up PR against docs/upgrade.html in the Notable changes in 4.2.0 section for KIP-1146 and the changes?