Mehari Beyene created KAFKA-18463: ------------------------------------- Summary: Backward compatibility issue with the configs log.message.timestamp.after.max.ms and log.message.timestamp.before.max.ms Key: KAFKA-18463 URL: https://issues.apache.org/jira/browse/KAFKA-18463 Project: Kafka Issue Type: Improvement Affects Versions: 3.8.1, 3.7.2, 3.9.0, 3.7.1, 3.8.0, 3.6.2, 3.6.1, 3.7.0, 3.6.0, 3.6.3, 3.9.1, 3.8.2 Reporter: Mehari Beyene
With [KIP-937|https://cwiki.apache.org/confluence/display/KAFKA/KIP-937] we have introduced two new configs, `log.message.timestamp.before.max.ms` and `log.message.timestamp.after.max.ms` that are used to validate the timestamp of messages sent by producer. The rational for adding these configs is discussed in the KIP but the main motivation is messages with invalid timestamp interfere with log rotation and log cleaning, because these functions depends on comparing the current timestamp of the server with the message timestamp to make the decision weather a log files should be rotated or evicted. However there is backward compatibility issue. For example if the cluster is upgraded to a 3.6.0 and above versions from a version that did not have these config options and contains message with invalid timestamp like nanosecond instead of a millisecond with future timestamp like `{{{}2446236110000{}}}` -> 22 years in the future, both the log cleaner and log rotation logic will still be impaired even if we have `log.message.timestamp.after.max.ms` configured with the proposed default value of {{{}`86400000{}}}` for version 4.0 and above. Reference [KIP 1030|https://cwiki.apache.org/confluence/display/KAFKA/KIP-1030] -- This message was sent by Atlassian Jira (v8.20.10#820010)