junaiddshaukat opened a new pull request, #39051:
URL: https://github.com/apache/beam/pull/39051

   ## Summary
   A Kafka Serde for `KStreamsPayload` so the envelope can cross a topic 
boundary.
   Until now it only flowed in-JVM via `ProcessorContext#forward`; GroupByKey
   introduces the first real topic (the key-based repartition topic, per the 
plan
   agreed with @je-ik), which needs the payload serialized. Split out as its own
   small PR ahead of GBK.
   
   ## Scope
   - `KStreamsPayloadSerde<T>`: parameterized by the `Coder<WindowedValue<T>>` 
for
     the data variant (different topics carry different element types; the 
watermark
     variant is coder-independent). Wire format: a one-byte discriminator + 
body —
     data = `[0x00][windowedValueCoder-encoded value]`; watermark =
     `[0x01][long millis][int sourcePartition][int totalSourcePartitions]`.
   - Unit tests: round-trip of data, watermark, and terminal MAX watermark, 
plus an
     unknown-tag failure.
   
   ## Out of scope
   - Wiring the serde into the GBK repartition / watermark fan-out — that's the
     GroupByKey PR.
   
   ## Notes
   - Assumes non-null payloads: the topics it's used on (repartition, watermark
     fan-out) are not log-compacted, so no tombstones occur.
   
   ## Testing
   `./gradlew :runners:kafka-streams:check` green; 4 unit tests.
   
   Closes #39042
   Refs #18479
   cc @je-ik


-- 
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