Migrate from external Iceberg sinks to Iceberg topics#1579
Conversation
✅ Deploy Preview for redpanda-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR adds comprehensive migration guidance documentation for transitioning existing Iceberg integrations to Redpanda Iceberg Topics. The changes include a new documentation page detailing migration prerequisites, phased migration steps, data merge strategies, multi-table patterns, validation procedures, and cutover guidance. The navigation structure is updated to include this new topic, and an existing documentation page is cross-referenced to the new migration guide. Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (4)
modules/manage/pages/iceberg/migrate-to-iceberg-topics.adoc (2)
229-233: Resolve the TODO for metrics.Leaving the metrics section empty blocks users from validating health during migration. Either add the specific metrics or link to an existing metrics page.
Do you want me to draft a short metrics section or open an issue to track it?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@modules/manage/pages/iceberg/migrate-to-iceberg-topics.adoc` around lines 229 - 233, Replace the "TODO: Add specific metrics" placeholder under the "Monitor Iceberg topic metrics" section by either (A) adding a concise list of concrete, actionable metrics to monitor (e.g., topic partition counts, consumer lag, message publish rate, error rates, compaction success/failure, iceberg table snapshot counts and age, metadata store latency) or (B) inserting a link to the existing metrics/reference page that documents these metrics; locate the "Monitor Iceberg topic metrics" heading and the TODO string in the migrate-to-iceberg-topics.adoc and update that block so users have immediate, testable metrics to validate migration health rather than an empty TODO.
55-63: Use empty-bracket xref syntax for link text.Several xref links include hard-coded link text; use
xref:...[]so titles render automatically. As per the docs-wide AsciiDoc linking guideline.🔧 Example fix
-* xref:manage:tiered-storage.adoc[Tiered Storage] enabled. +* xref:manage:tiered-storage.adoc[] enabled. ... -* xref:manage:iceberg/about-iceberg-topics.adoc[Iceberg Topics] enabled on your Redpanda cluster. +* xref:manage:iceberg/about-iceberg-topics.adoc[] enabled on your Redpanda cluster. ... -* For migrating multi-table fan-out patterns, xref:develop:data-transforms/deploy.adoc[data transforms] enabled on your cluster. +* For migrating multi-table fan-out patterns, xref:develop:data-transforms/deploy.adoc[] enabled on your cluster. ... -See xref:manage:iceberg/specify-iceberg-schema.adoc[] to learn more about the different Iceberg modes. +See xref:manage:iceberg/specify-iceberg-schema.adoc[] to learn more about the different Iceberg modes. ... -IMPORTANT: If using the `value_schema_id_prefix` mode, schema subjects must use the `<topic-name>-value` xref:manage:schema-reg/schema-id-validation.adoc#set-subject-name-strategy-per-topic[naming convention] (TopicNameStrategy). +IMPORTANT: If using the `value_schema_id_prefix` mode, schema subjects must use the `<topic-name>-value` xref:manage:schema-reg/schema-id-validation.adoc#set-subject-name-strategy-per-topic[] (TopicNameStrategy). ... -See xref:manage:iceberg/about-iceberg-topics.adoc#troubleshoot-errors[Troubleshoot errors] for steps to inspect and reprocess DLQ records. +See xref:manage:iceberg/about-iceberg-topics.adoc#troubleshoot-errors[] for steps to inspect and reprocess DLQ records.As per coding guidelines: “AsciiDoc linking: prefer using xref links with empty brackets… Avoid hard-coding link text.”
[scratchpad_end] -->Also applies to: 158-168, 475-475
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@modules/manage/pages/iceberg/migrate-to-iceberg-topics.adoc` around lines 55 - 63, Replace hard-coded xref link text with empty-bracket xref syntax so AsciiDoc titles render automatically: change occurrences like xref:manage:tiered-storage.adoc[Tiered Storage] to xref:manage:tiered-storage.adoc[], xref:manage:iceberg/about-iceberg-topics.adoc[Iceberg Topics] to xref:manage:iceberg/about-iceberg-topics.adoc[], and xref:develop:data-transforms/deploy.adoc[data transforms] to xref:develop:data-transforms/deploy.adoc[] (and update any other xref:...[…] instances in this document to use empty brackets).modules/manage/pages/iceberg/about-iceberg-topics.adoc (1)
454-456: Use empty-bracket xref syntax.Replace the hard-coded link text with
xref:...[]so the title renders automatically. As per the docs-wide AsciiDoc linking guideline.🔧 Example fix
-* xref:manage:iceberg/migrate-to-iceberg-topics.adoc[Migrate existing Iceberg integrations to Iceberg Topics] +* xref:manage:iceberg/migrate-to-iceberg-topics.adoc[]As per coding guidelines: “AsciiDoc linking: prefer using xref links with empty brackets… Avoid hard-coding link text.”
[scratchpad_end] -->🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@modules/manage/pages/iceberg/about-iceberg-topics.adoc` around lines 454 - 456, Replace the hard-coded link text on the second xref in about-iceberg-topics.adoc: change the xref reference xref:manage:iceberg/migrate-to-iceberg-topics.adoc[Migrate existing Iceberg integrations to Iceberg Topics] to use empty-bracket syntax xref:manage:iceberg/migrate-to-iceberg-topics.adoc[] so the title renders automatically (leave the first xref:manage:iceberg/use-iceberg-catalogs.adoc[] as-is).modules/ROOT/nav.adoc (1)
193-195: Use empty-bracket xref syntax in nav.Use
xref:...[]so the title is pulled from the target document.🔧 Example fix
-*** xref:manage:iceberg/migrate-to-iceberg-topics.adoc[Migrate to Iceberg Topics] +*** xref:manage:iceberg/migrate-to-iceberg-topics.adoc[]As per coding guidelines: “AsciiDoc linking: prefer using xref links with empty brackets… Avoid hard-coding link text.”
[scratchpad_end] -->🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@modules/ROOT/nav.adoc` around lines 193 - 195, The nav entries currently hard-code link text (e.g., xref:manage:iceberg/query-iceberg-topics.adoc[Query Iceberg Topics], xref:manage:iceberg/migrate-to-iceberg-topics.adoc[Migrate to Iceberg Topics], xref:manage:schema-reg/index.adoc[Schema Registry]); change each to use empty-bracket xref syntax (xref:...[]) so the title is pulled from the target document, preserving the same target paths and removing the bracketed text.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@modules/manage/pages/iceberg/about-iceberg-topics.adoc`:
- Around line 454-456: Replace the hard-coded link text on the second xref in
about-iceberg-topics.adoc: change the xref reference
xref:manage:iceberg/migrate-to-iceberg-topics.adoc[Migrate existing Iceberg
integrations to Iceberg Topics] to use empty-bracket syntax
xref:manage:iceberg/migrate-to-iceberg-topics.adoc[] so the title renders
automatically (leave the first xref:manage:iceberg/use-iceberg-catalogs.adoc[]
as-is).
In `@modules/manage/pages/iceberg/migrate-to-iceberg-topics.adoc`:
- Around line 229-233: Replace the "TODO: Add specific metrics" placeholder
under the "Monitor Iceberg topic metrics" section by either (A) adding a concise
list of concrete, actionable metrics to monitor (e.g., topic partition counts,
consumer lag, message publish rate, error rates, compaction success/failure,
iceberg table snapshot counts and age, metadata store latency) or (B) inserting
a link to the existing metrics/reference page that documents these metrics;
locate the "Monitor Iceberg topic metrics" heading and the TODO string in the
migrate-to-iceberg-topics.adoc and update that block so users have immediate,
testable metrics to validate migration health rather than an empty TODO.
- Around line 55-63: Replace hard-coded xref link text with empty-bracket xref
syntax so AsciiDoc titles render automatically: change occurrences like
xref:manage:tiered-storage.adoc[Tiered Storage] to
xref:manage:tiered-storage.adoc[],
xref:manage:iceberg/about-iceberg-topics.adoc[Iceberg Topics] to
xref:manage:iceberg/about-iceberg-topics.adoc[], and
xref:develop:data-transforms/deploy.adoc[data transforms] to
xref:develop:data-transforms/deploy.adoc[] (and update any other xref:...[…]
instances in this document to use empty brackets).
In `@modules/ROOT/nav.adoc`:
- Around line 193-195: The nav entries currently hard-code link text (e.g.,
xref:manage:iceberg/query-iceberg-topics.adoc[Query Iceberg Topics],
xref:manage:iceberg/migrate-to-iceberg-topics.adoc[Migrate to Iceberg Topics],
xref:manage:schema-reg/index.adoc[Schema Registry]); change each to use
empty-bracket xref syntax (xref:...[]) so the title is pulled from the target
document, preserving the same target paths and removing the bracketed text.
|
|
||
| ifdef::env-cloud[] | ||
|
|
||
| Monitor Iceberg Topics health by viewing topics metrics in the Redpanda Cloud UI. |
There was a problem hiding this comment.
Which metrics can we recommend?
There was a problem hiding this comment.
There are lag metrics we can recommend
| | Latency | ||
| | Low-medium (external service) | ||
| | Very low (in-broker) | ||
|
|
There was a problem hiding this comment.
Please please remove this - it's not actually true and the story here is actually very complex and full of tradeoffs.
There was a problem hiding this comment.
@rockwotj Will remove - is this the right doc or place to present those tradeoffs to users?
There was a problem hiding this comment.
I don't know there is a lot to work through and is nuanced, it should probably be a dedicated document if we want to present this well.
| | Setup time | ||
| | Medium (deploy connector) | ||
| | Fast (enable topic property) |
|
|
||
| ifdef::env-cloud[] | ||
|
|
||
| Monitor Iceberg Topics health by viewing topics metrics in the Redpanda Cloud UI. |
There was a problem hiding this comment.
There are lag metrics we can recommend
|
|
||
| * `redpanda_transform_processor_lag`: Records pending processing in transform input topic | ||
|
|
||
| For a complete list of Iceberg metrics, see xref:reference:public-metrics-reference.adoc[Iceberg metrics reference]. |
There was a problem hiding this comment.
you could point direct to #iceberg-metrics
Co-authored-by: Michele Cyran <michele@redpanda.com>
Description
Adds a new migration guide for existing Iceberg pipelines (such as with Kafka Connect Iceberg Sink) to Iceberg topics, including some guidance on migrating multi-table fanout (covered in more detail in #1563).
PR to add doc in Cloud: redpanda-data/cloud-docs#511
Resolves https://redpandadata.atlassian.net/browse/
Review deadline: 27 Feb
Page previews
Self-managed: https://deploy-preview-1579--redpanda-docs-preview.netlify.app/current/manage/iceberg/migrate-to-iceberg-topics/
Cloud: https://deploy-preview-1579--redpanda-docs-preview.netlify.app/redpanda-cloud/manage/iceberg/migrate-to-iceberg-topics/
Checks