MINOR: improve JavaDocs for TimestampExtractor interface
Author: Matthias J. Sax
Reviewers: Guozhang Wang
Closes from mjsax/minor-javadocs-timestamp-extractor
@@ -30,12 +30,18 @@ public interface TimestampExtractor {
/**
* Extracts a timestamp from a record. The timestamp must be positive to be considered a valid timestamp.
* Returning a negative timestamp will cause the record not to be processed but rather silently skipped.
+ * In case the record contains a negative timestamp and this is considered a fatal error for the application,
+ * throwing a {@link RuntimeException} instead of returning the timestamp is a valid option too.
+ * For this case, Streams will stop processing and shut down to allow you investigate in the root cause of the
+ * negative timestamp.
+ * <p>
* The timestamp extractor implementation must be stateless.
* <p>
* The extracted timestamp MUST represent the milliseconds since midnight, January 1, 1970 UTC.
* <p>
- * It is important to note that this timestamp may become the message timestamp for any messages sent to changelogs updated by {@link KTable}s
- * and joins. The message timestamp is used for log retention and log rolling, so using nonsensical values may result in
+ * It is important to note that this timestamp may become the message timestamp for any messages sent to changelogs
+ * updated by {@link KTable}s and joins.
+ * The message timestamp is used for log retention and log rolling, so using nonsensical values may result in
* excessive log rolling and therefore broker performance degradation.
*
*
