conduktor.io ↗

KIP-1300 — Update KStream-KStream Join to Use Plain-Value-Header Window Stores

Discussion Streams

Introduces a `WindowStoreWithHeaders` and a `ValueAndHeaders` value wrapper that serialize window-store values as `[headersSize(varint)][headersBytes][value]`, and rewires the KStream-KStream join onto it instead of `TimestampedWindowStoreWithHeaders`. The join already reads the record timestamp from the window-store key and never reads the timestamp embedded in the stored value, so the current format wastes 8 bytes per record — roughly 7.3% of the store for 100-byte values in high-throughput join workloads.

Details

AuthorPoAn Yang
StatusDiscussion
JIRAKAFKA-20334
WikiView on Apache Wiki
Created2026-03-29
Last Modified2026-03-29
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.