-
Notifications
You must be signed in to change notification settings - Fork 52
Update 26.2 (client compatibility, Iceberg translation) single sourcing for Cloud #1857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -120,10 +120,14 @@ value_schema_latest:subject=<subject-name>,protobuf_name=<protobuf-message-full- | |
| + | ||
| NOTE: If you don't specify the fully qualified Protobuf message name, Redpanda pauses the data translation to the Iceberg table until you fix the topic misconfiguration. | ||
|
|
||
| ifndef::env-cloud[] | ||
| == Configure key, value, and header translation | ||
|
|
||
| ifndef::env-cloud[] | ||
| For Redpanda clusters version 26.2 and later, in addition to the <<supported-iceberg-modes,supported modes>>, `redpanda.iceberg.mode` also accepts a section-based syntax that lets you independently configure how Redpanda translates the record key, value, and headers into the Iceberg table. The `key_value`, `value_schema_id_prefix`, and `value_schema_latest` modes are shorthand for common combinations of these sections (see <<iceberg-mode-shorthands>>). | ||
| endif::[] | ||
| ifdef::env-cloud[] | ||
| In addition to the <<supported-iceberg-modes,supported modes>>, `redpanda.iceberg.mode` also accepts a section-based syntax that lets you independently configure how Redpanda translates the record key, value, and headers into the Iceberg table. The `key_value`, `value_schema_id_prefix`, and `value_schema_latest` modes are shorthand for common combinations of these sections (see <<iceberg-mode-shorthands>>). | ||
| endif::[] | ||
|
|
||
| The `key` and `headers` sections change fields inside the `redpanda` system struct column (`redpanda.key` and the `value` field of each entry in `redpanda.headers`), while the `value` section changes the columns outside that struct. See <<how-iceberg-modes-translate-to-table-format,How Iceberg modes translate to table format>> for the base row structure that every generated table includes. | ||
|
|
||
|
|
@@ -369,6 +373,7 @@ Redpanda rejects the following configurations when you create or alter a topic: | |
| NOTE: Option values cannot contain `,` or `;`, and whitespace is not trimmed. Avoid extra spaces around subject names or Protobuf message names. | ||
|
|
||
| // Broker-upgrade gating not applicable in RP Cloud | ||
| ifndef::env-cloud[] | ||
| [IMPORTANT] | ||
| ==== | ||
| Configuring anything beyond `key:mode=binary` and `headers:value_type=binary` requires every broker in the cluster to be running Redpanda version 26.2 or later. Until all brokers are upgraded, Redpanda rejects these configurations with an error. | ||
|
|
@@ -380,6 +385,7 @@ The following configurations require all brokers to be running version 26.2 or l | |
| * `value:layout=nested` | ||
| * `value:mode=string` | ||
| ==== | ||
| endif::[] | ||
|
|
||
| === Example configurations | ||
|
|
||
|
|
@@ -423,17 +429,20 @@ rpk topic describe orders -c | grep redpanda.iceberg.mode | |
| ---- | ||
|
|
||
| NOTE: If a section-based configuration is equivalent to one of the modes described in <<supported-iceberg-modes,Supported Iceberg modes>>, `rpk topic describe` displays it using that mode's name instead of the section syntax. | ||
| endif::[] | ||
|
|
||
| ifndef::env-cloud[] | ||
| [[resolve-schemas-within-a-context]] | ||
| == Resolve schemas within a Schema Registry context | ||
|
|
||
| If you use xref:manage:schema-reg/schema-reg-contexts.adoc[Schema Registry contexts] to isolate schemas (for example, by environment or tenant), set the `redpanda.schema.registry.context` topic property to bind the topic to that context. Redpanda then resolves the schemas referenced by records in the topic against the configured context instead of the default context (`.`). Depending on the topic's Iceberg mode, Redpanda looks up either the schema ID embedded in each record (`value_schema_id_prefix` mode) or the latest schema for a subject (`value_schema_latest` mode) within that context. | ||
|
|
||
| Both modes rely on a schema registered in Schema Registry to determine the Iceberg table structure. | ||
|
|
||
| ifndef::env-cloud[] | ||
| Starting in Redpanda 26.2, Schema Registry contexts are enabled by default. See xref:manage:schema-reg/schema-reg-contexts.adoc[Schema Registry contexts] to learn about contexts and qualified subject naming before you configure this property. | ||
| endif::[] | ||
| ifdef::env-cloud[] | ||
| Schema Registry contexts are enabled by default. See xref:manage:schema-reg/schema-reg-contexts.adoc[Schema Registry contexts] to learn about contexts and qualified subject naming before you configure this property. | ||
| endif::[] | ||
|
Comment on lines
+440
to
+445
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win Document Schema Registry context behavior for key decoding. This section only names the legacy value modes, while this page now also supports 🤖 Prompt for AI Agents |
||
|
|
||
| .Set the Schema Registry context on a new topic | ||
| [,bash] | ||
|
|
@@ -462,7 +471,6 @@ To change the Schema Registry context on a topic that is actively translating to | |
| . Change `redpanda.schema.registry.context`. | ||
| . Re-enable Iceberg translation. | ||
| ==== | ||
| endif::[] | ||
|
|
||
| == How Iceberg modes translate to table format | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wdberkeley does this change look good per this bot feedback?