mjsax commented on code in PR #21414:
URL: https://github.com/apache/kafka/pull/21414#discussion_r2785851444


##########
docs/streams/developer-guide/processor-api.md:
##########
@@ -53,7 +53,7 @@ The `Processor` interface takes four generic parameters: 
`KIn, VIn, KOut, VOut`.
 
 Both the `Processor#process()` and the `ProcessorContext#forward()` methods 
handle records in the form of the `Record<K, V>` data class. This class gives 
you access to the main components of a Kafka record: the key, value, timestamp 
and headers. When forwarding records, you can use the constructor to create a 
new `Record` from scratch, or you can use the convenience builder methods to 
replace one of the `Record`'s properties and copy over the rest. For example, 
`inputRecord.withValue(newValue)` would copy the key, timestamp, and headers 
from `inputRecord` while setting the output record's value to `newValue`. Note 
that this does not mutate `inputRecord`, but instead creates a shallow copy. 
Beware that this is only a shallow copy, so if you plan to mutate the key, 
value, or headers elsewhere in the program, you will want to create a deep copy 
of those fields yourself.
 
-In addition to handling incoming records via `Processor#process()`, you have 
the option to schedule periodic invocation (called "punctuation") in your 
processor's `init()` method by calling `ProcessorContext#schedule()` and 
passing it a `Punctuator`. The `PunctuationType` determines what notion of time 
is used for the punctuation scheduling: either 
[stream-time](../core-concepts.html#streams_time) or wall-clock-time (by 
default, stream-time is configured to represent event-time via 
`TimestampExtractor`). When stream-time is used, `punctuate()` is triggered 
purely by data because stream-time is determined (and advanced forward) by the 
timestamps derived from the input data. When there is no new input data 
arriving, stream-time is not advanced and thus `punctuate()` is not called.
+In addition to handling incoming records via `Processor#process()`, you have 
the option to schedule periodic invocation (called "punctuation") in your 
processor's `init()` method by calling `ProcessorContext#schedule()` and 
passing it a `Punctuator`. The `PunctuationType` determines what notion of time 
is used for the punctuation scheduling: either 
[stream-time](../core-concepts.html#streams_time) or wall-clock-time (by 
default, stream-time is configured to represent event-time via 
`TimestampExtractor`). When stream-time is used, `punctuate()` is triggered 
purely by data because stream-time is determined (and advanced forward) by the 
timestamps derived from the input data. When there is no new input data 
arriving, stream-time is not advanced and thus `punctuate()` is not called. The 
stream time used for punctuation is task-level stream time, which is preserved 
across rebalances and restarts (see [Core Concepts](../core-concepts.html#time) 
for details on task-level vs operator-level 
 stream time).

Review Comment:
   ```suggestion
   In addition to handling incoming records via `Processor#process()`, you have 
the option to schedule periodic invocation (called "punctuation") in your 
processor's `init()` method by calling `ProcessorContext#schedule()` and 
passing it a `Punctuator`. The `PunctuationType` determines what notion of time 
is used for the punctuation scheduling: either 
[stream-time](../core-concepts.html#streams_time) or wall-clock-time (by 
default, stream-time is configured to represent event-time via 
`TimestampExtractor`). When stream-time is used, `punctuate()` is triggered 
purely by data because stream-time is determined (and advanced forward) by the 
timestamps derived from the input data. When there is no new input data 
arriving, stream-time is not advanced and thus `punctuate()` is not called. The 
stream-time used for punctuations is task-level stream-time, which is preserved 
across rebalances and restarts (see [Core Concepts](../core-concepts.html#time) 
for details on task-level vs operator-lev
 el stream-time).
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to