From 51d12329abfb5837ade86ed2c44174857d0084e9 Mon Sep 17 00:00:00 2001 From: Charly Molter Date: Tue, 16 Jun 2026 17:43:00 +0200 Subject: [PATCH 1/3] chore(event-gateway): clarify that we don't support multiple header values This is just an existing limitation of our product EVG-208 Signed-off-by: Charly Molter --- app/event-gateway/known-limitations.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/event-gateway/known-limitations.md b/app/event-gateway/known-limitations.md index a9c3593590..86cfcc230d 100644 --- a/app/event-gateway/known-limitations.md +++ b/app/event-gateway/known-limitations.md @@ -29,4 +29,12 @@ breadcrumbs: * [Compacted topics](https://docs.confluent.io/kafka/design/log_compaction.html#topic-compaction) used with policies and namespaces are untested +## Record headers + +Kafka record headers are multi-valued: the [Kafka protocol](https://cwiki.apache.org/confluence/display/KAFKA/KIP-82+-+Add+Record+Headers) allows the same header key to appear more than once in a single record, and clients can read every occurrence. + +{{site.event_gateway}} models record headers as a single value per key. When a record is processed by a policy that reads or transforms headers (for example, encryption, schema validation, or `modify_headers`), records that carry duplicate header keys are collapsed so that only the **last** value for each key is kept; earlier values with the same key are dropped. The relative order of distinct header keys is preserved. + +This affects only records that {{site.event_gateway}} decodes to apply record-level policies. If your clients rely on multiple headers that share the same key, don't route those topics through header-transforming policies. See the [{{site.event_gateway}} headers reference](/event-gateway/headers/) for the headers {{site.event_gateway}} adds and interprets. + From 91fd410a4b8cc1d5383615ceb0ab491376daee40 Mon Sep 17 00:00:00 2001 From: Charly Molter Date: Wed, 17 Jun 2026 11:27:56 +0200 Subject: [PATCH 2/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- app/event-gateway/known-limitations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/event-gateway/known-limitations.md b/app/event-gateway/known-limitations.md index 86cfcc230d..9aea9ae2a6 100644 --- a/app/event-gateway/known-limitations.md +++ b/app/event-gateway/known-limitations.md @@ -33,7 +33,7 @@ breadcrumbs: Kafka record headers are multi-valued: the [Kafka protocol](https://cwiki.apache.org/confluence/display/KAFKA/KIP-82+-+Add+Record+Headers) allows the same header key to appear more than once in a single record, and clients can read every occurrence. -{{site.event_gateway}} models record headers as a single value per key. When a record is processed by a policy that reads or transforms headers (for example, encryption, schema validation, or `modify_headers`), records that carry duplicate header keys are collapsed so that only the **last** value for each key is kept; earlier values with the same key are dropped. The relative order of distinct header keys is preserved. +{{site.event_gateway}} models record headers as a single value per key. When a record is processed by a policy that reads or transforms headers (for example, encryption, schema validation, or `modify_headers`), records that carry duplicate header keys are collapsed so that only the **last** value for each key is kept; earlier values with the same key are dropped. This affects only records that {{site.event_gateway}} decodes to apply record-level policies. If your clients rely on multiple headers that share the same key, don't route those topics through header-transforming policies. See the [{{site.event_gateway}} headers reference](/event-gateway/headers/) for the headers {{site.event_gateway}} adds and interprets. From 1b63b8d9ef2518ea7a3d34550f7576de5de0cfee Mon Sep 17 00:00:00 2001 From: lena-larionova <54370747+lena-larionova@users.noreply.github.com> Date: Thu, 18 Jun 2026 11:13:59 -0700 Subject: [PATCH 3/3] Formatting & clarity edits Co-authored-by: lena-larionova <54370747+lena-larionova@users.noreply.github.com> --- app/event-gateway/known-limitations.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/event-gateway/known-limitations.md b/app/event-gateway/known-limitations.md index 9aea9ae2a6..58abeedd9b 100644 --- a/app/event-gateway/known-limitations.md +++ b/app/event-gateway/known-limitations.md @@ -33,8 +33,13 @@ breadcrumbs: Kafka record headers are multi-valued: the [Kafka protocol](https://cwiki.apache.org/confluence/display/KAFKA/KIP-82+-+Add+Record+Headers) allows the same header key to appear more than once in a single record, and clients can read every occurrence. -{{site.event_gateway}} models record headers as a single value per key. When a record is processed by a policy that reads or transforms headers (for example, encryption, schema validation, or `modify_headers`), records that carry duplicate header keys are collapsed so that only the **last** value for each key is kept; earlier values with the same key are dropped. +{{site.event_gateway_short}} models record headers as a single value per key. +When a record is processed by a policy that reads or transforms headers (for example, Encryption, Schema Validation, or Modify Headers policies), records that carry duplicate header keys are collapsed so that only the **last** value for each key is kept. +Earlier values with the same key are dropped. -This affects only records that {{site.event_gateway}} decodes to apply record-level policies. If your clients rely on multiple headers that share the same key, don't route those topics through header-transforming policies. See the [{{site.event_gateway}} headers reference](/event-gateway/headers/) for the headers {{site.event_gateway}} adds and interprets. +This only affects records that {{site.event_gateway_short}} decodes to apply record-level policies. +If your clients rely on multiple headers that share the same key, don't route those topics through header-transforming policies. + +See the [{{site.event_gateway}} headers reference](/event-gateway/headers/) for the headers {{site.event_gateway_short}} adds and interprets.