conduktor.io ↗

KIP-1334 — Introduce max.future.record.timestamp.difference.ms to Protect Stream-Time from Future Record Poisoning

Discussion Streams

Adds a max.future.record.timestamp.difference.ms Streams config (default -1, disabled) that intercepts records whose timestamp exceeds stream-time by more than the threshold in PartitionGroup.nextRecord(), returning them as CorruptedRecord so they are committed but neither processed nor allowed to advance stream-time. A single record with a far-future timestamp from a misconfigured clock permanently poisons the monotonic stream-time, silently dropping every later record as window-expired, triggering deletion of all existing RocksDB time segments, and making stream-time punctuators fire on every record.

Details

AuthorArpit Goyal
StatusDiscussion
JIRAKAFKA-20438
WikiView on Apache Wiki
Created2026-04-27
Last Modified2026-05-06
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.