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


##########
docs/streams/core-concepts.md:
##########
@@ -75,6 +75,8 @@ The choice between event-time and ingestion-time is actually 
done through the co
 
 Kafka Streams assigns a **timestamp** to every data record via the 
`TimestampExtractor` interface. These per-record timestamps describe the 
progress of a stream with regards to time and are leveraged by time-dependent 
operations such as window operations. As a result, this time will only advance 
when a new record arrives at the processor. We call this data-driven time the 
**stream time** of the application to differentiate with the **wall-clock 
time** when this application is actually executing. Concrete implementations of 
the `TimestampExtractor` interface will then provide different semantics to the 
stream time definition. For example retrieving or computing timestamps based on 
the actual contents of data records such as an embedded timestamp field to 
provide event time semantics, and returning the current wall-clock time thereby 
yield processing time semantics to stream time. Developers can thus enforce 
different notions of time depending on their business needs. 
 
+Kafka Streams implement stream time at two levels. At runtime, stream time is 
maintained per task based on input records for that task (called "task time"). 
There is no global stream time, each task tracks its own stream time 
independently. `Task time` is preserved across rebalances and restarts. Some 
DSL operators that use grace periods maintain their own in-memory stream time 
("operator time"), which is **not** preserved across rebalances or restarts and 
is re-established from the first input record after restart. This distinction 
affects how grace periods are applied, as they use operator time rather than 
task time.

Review Comment:
   ```suggestion
   Kafka Streams implement stream-time at two levels. At runtime, stream-time 
is maintained per task based on input records for that task (called 
"task-time"). There is no global stream-time and each task tracks its own 
stream-time independently. Task-time is preserved across rebalances and 
restarts. Some DSL operators that use grace periods maintain their own 
in-memory stream-time ("operator time"), which is **not** preserved across 
rebalances or restarts and is re-established from the first input record after 
restart. This distinction affects how grace periods are applied, as they use 
operator time rather than task 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