Skip to content

DOC-2226: Sweep broken dotted-property xref anchors (idseparator migration)#1730

Open
Feediver1 wants to merge 2 commits into
mainfrom
DOC-2226-anchor-sweep
Open

DOC-2226: Sweep broken dotted-property xref anchors (idseparator migration)#1730
Feediver1 wants to merge 2 commits into
mainfrom
DOC-2226-anchor-sweep

Conversation

@Feediver1
Copy link
Copy Markdown
Contributor

@Feediver1 Feediver1 commented Jun 4, 2026

Summary

Fix the half-finished migration of dotted-property xref anchors. With idseparator: '-' (the Antora 3.x default), the property retention.ms now renders as #retention-ms. Existing xrefs that use the old no-separator form (#retentionms) still load the page but silently fail to jump to the target section because Antora doesn't validate URL fragments.

PR #1728 (DOC-2222) fixed the retention.* and delete.retention.* subset earlier; this PR covers the rest of the sweep.

What's in this PR (two commits)

Commit 1: source-side fixes — 49 substitutions across 8 hand-editable files (override JSON + referrer pages).

Commit 2: generated-partial fixes — 36 anchor substitutions plus one default_topic_replication dedup applied directly to the four generated files (cluster-properties.adoc, broker-properties.adoc, object-storage-properties.adoc, and redpanda-properties-v26.1.9.json).

Approach for commit 2: ran doc-tools generate property-docs --tag v26.1.9 --generate-partials to produce the full regen, then reverted the four generated files to pre-regen state and applied ONLY the anchor substitution (same mapping the previous commit used). End state is mechanically equivalent to a regen with the unrelated source drift reverted.

Files touched

Hand-edited

File Subs
docs-data/property-overrides.json 18
modules/manage/pages/schema-reg/schema-id-validation.adoc 12
modules/manage/pages/cluster-maintenance/topic-property-configuration.adoc 8
modules/manage/pages/cluster-maintenance/compaction-settings.adoc 5
modules/manage/pages/kubernetes/k-manage-topics.adoc 3
modules/develop/pages/transactions.adoc 1
modules/get-started/pages/release-notes/redpanda.adoc 1
modules/manage/partials/tiered-storage.adoc 1

Generated (anchor-only delta vs pre-regen state)

File Subs
modules/reference/partials/properties/cluster-properties.adoc 17
modules/reference/attachments/redpanda-properties-v26.1.9.json 18
modules/reference/partials/properties/object-storage-properties.adoc 1
modules/reference/partials/properties/broker-properties.adoc 1 dedup (off-target xref removed)

Two property-rename fixes (carried inside this anchor sweep)

The old anchor forms below referred to a property name that has since been renamed. The fix updates them to the current property's anchor:

  • redpandavalueschemavalidationredpanda-value-schema-id-validation (property: redpanda.value.schema.validationredpanda.value.schema.id.validation)
  • redpandakeyschemavalidationredpanda-key-schema-id-validation (property: redpanda.key.schema.validationredpanda.key.schema.id.validation)

One off-target xref deduped

The schema-registry schema_registry_replication_factor related_topics had a default_topic_replication xref pointing at topic-properties.adoc, but default_topic_replication is a cluster property. Removed the off-target topic-properties xref in three places (the override JSON, the generated broker-properties partial, and the attachment JSON).

Drift NOT applied (intentional)

The full property-docs regen would have introduced these source-side changes alongside the anchor fixes. They are reverted in commit 2 so this PR ships a clean anchor sweep only:

  • delete_topic_enable: description rewrite + new Related topics section
  • raft_election_timeout_ms: type change stringinteger, default null1500
  • features_auto_finalization: Introduced in v26.1.9 annotation
  • iceberg_rest_catalog_gcp_user_project: NOTE added, redpanda-cloud tags repositioned, default text adjusted

Recommend a separate ticket for the coordinated property-docs resync to land these intentionally.

Flagged for follow-up (not in this PR)

xref:reference:properties/topic-properties.adoc#redpanda-iceberg-enabled appears in 3 places (property-overrides.json, cluster-properties.adoc, attachments JSON), but no === redpanda.iceberg.enabled H3 exists on the topic-properties page. The property may have been renamed (redpanda.iceberg.mode likely subsumes the enabled toggle) or deprecated. Needs human review of intent before fixing the target.

Test plan

  • Local Antora build passes for the docs repo with no new ERROR (asciidoctor) lines related to topic-properties anchors.
  • Spot-check the rendered preview: click an updated xref (for example, the redpanda.value.schema.id.validation reference on the schema-id-validation page) and confirm the page jumps to the correct anchor on topic-properties/.
  • Verify docs-data/property-overrides.json still parses as valid JSON.
  • Verify modules/reference/attachments/redpanda-properties-v26.1.9.json still parses as valid JSON.
  • Follow-up issue (separate ticket): triage the redpanda-iceberg-enabled references and decide whether to update the target anchor or remove the references entirely.
  • Follow-up: separate ticket for the coordinated property-docs resync (delete_topic_enable description, raft_election_timeout_ms type change, features_auto_finalization annotation, iceberg_rest_catalog_gcp_user_project NOTE).

Page previews

🤖 Generated with Claude Code

The migration from no-separator to hyphen-separator anchor IDs
(idseparator: '-') is half-finished. Existing xrefs in the no-separator
form (e.g., #retentionms) still load the page but silently fail to jump
to the target section because Antora does not validate URL fragments.

This PR sweeps the hand-edited referrers that point at the
topic-properties page. Per the ticket, generated content under
modules/reference/partials/properties/ and modules/reference/attachments/
is intentionally not touched here — those land on the next
property-docs regen (the override source in docs-data/property-overrides.json
is updated so the regen produces correct anchors).

49 anchor substitutions across 8 files:

- modules/develop/pages/transactions.adoc (1)
- modules/get-started/pages/release-notes/redpanda.adoc (1)
- modules/manage/pages/cluster-maintenance/compaction-settings.adoc (5)
- modules/manage/pages/cluster-maintenance/topic-property-configuration.adoc (8)
- modules/manage/pages/kubernetes/k-manage-topics.adoc (3)
- modules/manage/pages/schema-reg/schema-id-validation.adoc (12)
- modules/manage/partials/tiered-storage.adoc (1)
- docs-data/property-overrides.json (18)

Also fixes one off-target xref in the override JSON: a
default_topic_replication reference pointed at topic-properties.adoc but
default_topic_replication is a cluster property. Removed the duplicate
topic-properties reference; the override already had the correct
cluster-properties.adoc xref alongside.

Two anchor renames carried in this sweep (where the property was renamed,
not just the anchor separator):

- redpanda.value.schema.validation -> redpanda.value.schema.id.validation
  (anchor: redpandavalueschemavalidation -> redpanda-value-schema-id-validation)
- redpanda.key.schema.validation -> redpanda.key.schema.id.validation
  (anchor: redpandakeyschemavalidation -> redpanda-key-schema-id-validation)

Not addressed in this PR (flagged for follow-up):

- xref:reference:properties/topic-properties.adoc#redpanda-iceberg-enabled
  appears in 3 places (property-overrides.json, cluster-properties.adoc,
  attachments JSON) but no `=== redpanda.iceberg.enabled` H3 exists on
  topic-properties. The property may have been renamed
  (redpanda.iceberg.mode subsumes the enabled toggle) or deprecated.
  Needs human review of intent before fixing.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Feediver1 Feediver1 requested a review from a team as a code owner June 4, 2026 20:26
@netlify
Copy link
Copy Markdown

netlify Bot commented Jun 4, 2026

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit 87528a5
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/6a21e36834fcc900080308b6
😎 Deploy Preview https://deploy-preview-1730--redpanda-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 4, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This PR corrects documentation cross-reference anchors across configuration property references. The changes standardize anchor names from concatenated forms (e.g., cleanuppolicy, maxcompactionlagms) to dashed/dot-separated canonical identifiers (e.g., cleanup-policy, max-compaction-lag-ms). Updates include the property-override data source, main property documentation pages, and scattered feature documentation pages that reference these properties.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • redpanda-data/docs#1337: Topic property documentation overhaul with canonical property/key mappings and anchor standardization.
  • redpanda-data/docs#1469: Updates AsciiDoc cross-references for cleanup.policy in compaction documentation.
  • redpanda-data/docs#1565: Schema ID validation documentation with anchor/xref corrections for Redpanda and Confluent property mapping.

Suggested reviewers

  • paulohtb6
  • JakeSCahill
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically identifies the main change: fixing broken dotted-property cross-reference anchors from the Antora idseparator migration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The pull request description comprehensively covers all required sections with detailed context about the xref anchor migration issue, what's included, files touched, property-rename fixes, and follow-up items.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DOC-2226-anchor-sweep

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs-data/property-overrides.json`:
- Line 309: The xref entries in property-overrides.json use non-prefixed targets
(e.g.
"xref:properties/topic-properties.adoc#redpanda-remote-allowgaps[`redpanda.remote.allowgaps`]")
and must be normalized to full Antora resource IDs; update each affected xref
(including the occurrences referenced around lines with
"xref:properties/topic-properties.adoc", "xref:cluster-properties.adoc", and
other "xref:properties/..." matches noted in the comment) to use the
module-prefixed form like
"xref:reference:properties/topic-properties.adoc#...[`...`]" (or the appropriate
module prefix for cluster properties) so all links in property-overrides.json
are full Antora resource IDs. Ensure you replace every listed occurrence (1251,
1327, 1351, 1361, 1367, 1370, 2051 and the shown line) consistently.

In `@modules/develop/pages/transactions.adoc`:
- Line 326: The topic-properties xref is using the wrong path; update the link
in the sentence that currently uses
xref:reference:topic-properties.adoc#cleanup-policy[...] to the canonical
properties reference path
xref:reference:properties/topic-properties.adoc#cleanup-policy[...] so the
cleanup.policy anchor points to properties/topic-properties.adoc instead of
topic-properties.adoc.

In `@modules/manage/pages/kubernetes/k-manage-topics.adoc`:
- Line 329: The Asciidoc link target for the topic property currently points to
reference:topic-properties.adoc; update both occurrences (the link around
`write.caching` in k-manage-topics.adoc and the other instance noted at the same
section) to use the canonical path reference:properties/topic-properties.adoc so
the links correctly resolve to the properties/topic-properties.adoc reference
file.

In `@modules/manage/partials/tiered-storage.adoc`:
- Line 1018: The xref target is pointing to reference:topic-properties.adoc
which is non-canonical; update the xref in the sentence that currently reads
xref:reference:topic-properties.adoc#cleanup-policy[...] to the repository's
canonical location under reference:properties (e.g.,
xref:reference:properties/topic-properties.adoc#cleanup-policy[...] ) so the
link resolves correctly to the topic properties cleanup.policy anchor.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ffcf029a-3e82-4a78-956f-f950d8f2c562

📥 Commits

Reviewing files that changed from the base of the PR and between 26bf544 and 5400c6c.

📒 Files selected for processing (8)
  • docs-data/property-overrides.json
  • modules/develop/pages/transactions.adoc
  • modules/get-started/pages/release-notes/redpanda.adoc
  • modules/manage/pages/cluster-maintenance/compaction-settings.adoc
  • modules/manage/pages/cluster-maintenance/topic-property-configuration.adoc
  • modules/manage/pages/kubernetes/k-manage-topics.adoc
  • modules/manage/pages/schema-reg/schema-id-validation.adoc
  • modules/manage/partials/tiered-storage.adoc

"description": "Controls the upload of log segments to Tiered Storage. If set to `false`, this property temporarily pauses all log segment uploads from the Redpanda cluster. When the uploads are paused, the <<cloud_storage_enable_remote_allow_gaps, `cloud_storage_enable_remote_allow_gaps`>> cluster configuration and `redpanda.remote.allowgaps` topic properties control local retention behavior.",
"related_topics": [
"xref:properties/topic-properties.adoc#redpandaremoteallowgaps[`redpanda.remote.allowgaps`]"
"xref:properties/topic-properties.adoc#redpanda-remote-allowgaps[`redpanda.remote.allowgaps`]"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Normalize changed xrefs to full Antora resource IDs.

These updated links still use relative or non-prefixed targets (for example xref:./topic-properties.adoc..., xref:../cluster-properties.adoc..., and xref:properties/...). In this overrides file, these should be fully qualified (for example xref:reference:properties/topic-properties.adoc... and xref:reference:properties/cluster-properties.adoc...).

As per coding guidelines, "Always use full Antora resource IDs with module prefixes in xref links within property descriptions" and "Normalize all xref links in property-overrides.json to use full Antora resource IDs after updating".

Also applies to: 1251-1251, 1327-1327, 1351-1351, 1361-1361, 1367-1367, 1370-1370, 2051-2051

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs-data/property-overrides.json` at line 309, The xref entries in
property-overrides.json use non-prefixed targets (e.g.
"xref:properties/topic-properties.adoc#redpanda-remote-allowgaps[`redpanda.remote.allowgaps`]")
and must be normalized to full Antora resource IDs; update each affected xref
(including the occurrences referenced around lines with
"xref:properties/topic-properties.adoc", "xref:cluster-properties.adoc", and
other "xref:properties/..." matches noted in the comment) to use the
module-prefixed form like
"xref:reference:properties/topic-properties.adoc#...[`...`]" (or the appropriate
module prefix for cluster properties) so all links in property-overrides.json
are full Antora resource IDs. Ensure you replace every listed occurrence (1251,
1327, 1351, 1361, 1367, 1370, 2051 and the shown line) consistently.


ifndef::env-cloud[]
At a cluster-level, compaction is set when xref:reference:cluster-properties.adoc#log_cleanup_policy[`log_cleanup_policy`] or xref:reference:topic-properties.adoc#cleanuppolicy[`cleanup.policy`] are set to either `compact` or `compact,delete`.
At a cluster-level, compaction is set when xref:reference:cluster-properties.adoc#log_cleanup_policy[`log_cleanup_policy`] or xref:reference:topic-properties.adoc#cleanup-policy[`cleanup.policy`] are set to either `compact` or `compact,delete`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix topic-properties xref path to the properties reference page.

Use xref:reference:properties/topic-properties.adoc#cleanup-policy[...] here for consistency with canonical property-reference links.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/develop/pages/transactions.adoc` at line 326, The topic-properties
xref is using the wrong path; update the link in the sentence that currently
uses xref:reference:topic-properties.adoc#cleanup-policy[...] to the canonical
properties reference path
xref:reference:properties/topic-properties.adoc#cleanup-policy[...] so the
cleanup.policy anchor points to properties/topic-properties.adoc instead of
topic-properties.adoc.

=== Configure at topic level

To override the cluster-level setting at the topic level, set the topic-level property xref:reference:topic-properties.adoc#writecaching[`write.caching`]:
To override the cluster-level setting at the topic level, set the topic-level property xref:reference:topic-properties.adoc#write-caching[`write.caching`]:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update topic-properties links to the canonical properties path.

Both links should target reference:properties/topic-properties.adoc (not reference:topic-properties.adoc) to keep references consistent and avoid invalid targets.

Also applies to: 337-337

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/manage/pages/kubernetes/k-manage-topics.adoc` at line 329, The
Asciidoc link target for the topic property currently points to
reference:topic-properties.adoc; update both occurrences (the link around
`write.caching` in k-manage-topics.adoc and the other instance noted at the same
section) to use the canonical path reference:properties/topic-properties.adoc so
the links correctly resolve to the properties/topic-properties.adoc reference
file.

==== Compacted topics in Tiered Storage

When you set xref:reference:topic-properties.adoc#cleanuppolicy[`cleanup.policy`] for a topic to `compact`, nothing gets deleted from object storage based on retention settings. When set to `compact,delete`, compacted segments are deleted from object storage based on `retention.ms` and `retention.bytes`.
When you set xref:reference:topic-properties.adoc#cleanup-policy[`cleanup.policy`] for a topic to `compact`, nothing gets deleted from object storage based on retention settings. When set to `compact,delete`, compacted segments are deleted from object storage based on `retention.ms` and `retention.bytes`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix the xref target path at Line 1018 (topic-properties page path looks wrong).

The anchor update is good, but xref:reference:topic-properties.adoc#cleanup-policy[...] likely points to a non-canonical location. In this repo, topic property docs are under reference:properties/..., so this xref may fail at build/render time.

Proposed fix
-When you set xref:reference:topic-properties.adoc#cleanup-policy[`cleanup.policy`] for a topic to `compact`, nothing gets deleted from object storage based on retention settings. When set to `compact,delete`, compacted segments are deleted from object storage based on `retention.ms` and `retention.bytes`.
+When you set xref:reference:properties/topic-properties.adoc#cleanup-policy[`cleanup.policy`] for a topic to `compact`, nothing gets deleted from object storage based on retention settings. When set to `compact,delete`, compacted segments are deleted from object storage based on `retention.ms` and `retention.bytes`.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
When you set xref:reference:topic-properties.adoc#cleanup-policy[`cleanup.policy`] for a topic to `compact`, nothing gets deleted from object storage based on retention settings. When set to `compact,delete`, compacted segments are deleted from object storage based on `retention.ms` and `retention.bytes`.
When you set xref:reference:properties/topic-properties.adoc#cleanup-policy[`cleanup.policy`] for a topic to `compact`, nothing gets deleted from object storage based on retention settings. When set to `compact,delete`, compacted segments are deleted from object storage based on `retention.ms` and `retention.bytes`.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/manage/partials/tiered-storage.adoc` at line 1018, The xref target is
pointing to reference:topic-properties.adoc which is non-canonical; update the
xref in the sentence that currently reads
xref:reference:topic-properties.adoc#cleanup-policy[...] to the repository's
canonical location under reference:properties (e.g.,
xref:reference:properties/topic-properties.adoc#cleanup-policy[...] ) so the
link resolves correctly to the topic properties cleanup.policy anchor.

Companion to the previous commit's source-override fix. Apply the
broken-anchor → hyphenated-anchor mapping to the four generated files
under modules/reference/partials/properties/ and
modules/reference/attachments/, so this PR ships a complete sweep
rather than leaving the generated files for a later regen cycle.

Approach: ran `doc-tools generate property-docs --tag v26.1.9
--generate-partials` to produce the full regen, then reverted the four
generated files to pre-regen state and applied ONLY the anchor
substitution (same mapping the previous commit used on the hand-edited
referrers). End state is mechanically equivalent to a regen with the
unrelated source drift reverted, but achieved without committing the
drift in the first place.

Drift the regen would have introduced (intentionally NOT applied here;
needs a separate coordinated property-docs resync ticket):

- delete_topic_enable: description rewrite + new Related topics section
- raft_election_timeout_ms: type change string → integer, default null → 1500
- features_auto_finalization: "Introduced in v26.1.9" annotation
- iceberg_rest_catalog_gcp_user_project: NOTE added, redpanda-cloud
  tags repositioned, default text adjusted

36 anchor substitutions in this commit:

- modules/reference/partials/properties/cluster-properties.adoc (17)
- modules/reference/attachments/redpanda-properties-v26.1.9.json (18)
- modules/reference/partials/properties/object-storage-properties.adoc (1)

Plus one default_topic_replication dedup:

- modules/reference/partials/properties/broker-properties.adoc (dropped
  the off-target topic-properties xref; only the correct cluster-properties
  xref remains)
- modules/reference/attachments/redpanda-properties-v26.1.9.json (same
  dedup in the schema_registry_replication_factor related_topics list)

After this commit, the only remaining "broken" topic-properties anchor
in the entire repo is `#redpanda-iceberg-enabled` (3 refs, all in
generated files), which is flagged for follow-up in the previous commit
message — no matching H3 on topic-properties; the property may have
been renamed or deprecated.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant