Skip to content

feat(DOC-1942): document delete_topic_enable enterprise feature#1610

Open
mfernest wants to merge 10 commits into
mainfrom
fix/doc-1942-delete-topic-enable
Open

feat(DOC-1942): document delete_topic_enable enterprise feature#1610
mfernest wants to merge 10 commits into
mainfrom
fix/doc-1942-delete-topic-enable

Conversation

@mfernest
Copy link
Copy Markdown
Contributor

@mfernest mfernest commented Mar 17, 2026

Fixes: https://redpandadata.atlassian.net/browse/DOC-1942

Summary

  • Documents new enterprise cluster property delete_topic_enable (in dev branch, targeting next major Redpanda release)
  • Adds property override with description and related_topics links so it renders correctly when property docs are next regenerated
  • Adds Topic Deletion Control to the enterprise features table in the licensing overview
  • Includes auto-docs regeneration for v25.3.10 (34 new cloud_topics topic properties, schema_registry_avro_use_named_references version note)

About delete_topic_enable:

  • Boolean cluster property, defaults to true (backward compatible)
  • Setting to false prevents ALL topic deletion via the Kafka DeleteTopics API, including for superusers
  • Rejections use error code 73 (TOPIC_DELETION_DISABLED)
  • Setting to false requires an enterprise license
  • Works independently of kafka_nodelete_topics (which protects specific topics)
  • Engineering PR: CORE-15436 delete topic enable redpanda#29365

Preview

delete_topic_enable

Redpanda Enterprise edition features

Test plan

  • Build passes locally
  • Verify enterprise features table renders correctly at /get-started/licensing/overview
  • Verify property override description appears when property docs are regenerated for next release

🤖 Generated with Claude Code

mfernest and others added 2 commits March 16, 2026 17:28
Updates property partials and JSON for v25.3.10:
- Adds "Introduced in v25.3.10" note to schema_registry_avro_use_named_references
- Adds 34 new cloud_topics topic properties
- Updates property-overrides.json with new property stubs
- Cleans up old diff JSON files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds documentation for the new `delete_topic_enable` cluster property
(available in dev, targeting next major release):

- Adds property override with description and related_topics
- Adds Topic Deletion Control entry to the enterprise features table
  in the licensing overview

The property defaults to `true` (backward compatible). Setting it to
`false` prevents all topic deletion via the Kafka DeleteTopics API,
including for superusers, and requires an enterprise license.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mfernest mfernest requested a review from a team as a code owner March 17, 2026 00:28
@netlify
Copy link
Copy Markdown

netlify Bot commented Mar 17, 2026

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit 9970958
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/6a10a62654fd310008a991a9
😎 Deploy Preview https://deploy-preview-1610--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 Mar 17, 2026

📝 Walkthrough

Walkthrough

This PR updates Redpanda documentation for the v25.3.10 release by adding extensive new configuration properties. Changes include: adding 40+ new property overrides to the property-overrides.json file; removing two historical changelog files (v25.3.1-to-v25.3.3 and v25.3.9-to-v25.3.10); adding "Topic Deletion Control" to the enterprise features documentation; extending the v25.3.10 properties reference file with 481 new lines of property definitions; adding a version note to cluster properties documentation; and significantly expanding topic properties documentation with ~1,095 new lines covering cloud storage, cloud topics reconciliation, schema registry, and storage mode configurations.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • #1527 — Both PRs modify docs-data/property-overrides.json and topic properties documentation, introducing similar property entries and descriptions.
  • #1353 — Both PRs add schema-registry topic-level configuration entries (redpanda.value.schema.id.validation, subject.name.strategy variants) and cloud-related topic properties.
  • #1600 — Both PRs update and generate property documentation for the v25.3.10 release, adding new property entries and JSON attachments.

Suggested reviewers

  • paulohtb6
  • WillemKauf
  • micheleRP
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: documenting the delete_topic_enable enterprise feature.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description fully addresses the required template sections with Jira ticket reference, summary of changes, page previews, and a clear test plan.

✏️ 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 fix/doc-1942-delete-topic-enable

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
modules/reference/partials/properties/topic-properties.adoc (2)

1122-1155: ⚠️ Potential issue | 🟠 Major

delete_topic_enable metadata is inconsistent with the PR’s stated behavior.

At Line 1133 and Line 1143, this property is documented as string with default null, but the PR objective describes a boolean cluster property with default true. It’s also appearing under topic properties, which conflicts with the “cluster property” scope.

Please correct this in the property source/overrides and regenerate docs so the rendered reference matches product behavior.

Based on learnings, "Never directly edit files in /modules/reference/partials/properties/ - they are auto-generated and will be overwritten" and "Update /docs-data/property-overrides.json to make changes to property documentation - this is the file that drives auto-generation of property reference pages".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@modules/reference/partials/properties/topic-properties.adoc` around lines
1122 - 1155, The metadata for delete_topic_enable is wrong in the generated
partials: update the property override for "delete_topic_enable" in
docs-data/property-overrides.json to mark its type as boolean, default true,
scope as cluster (not topic), nullable as No (and any restore-related flags as
appropriate), then regenerate the reference docs so the auto-generated file in
modules/reference/partials/properties reflects the correct boolean cluster
property and default value; look for the "delete_topic_enable" entry in
property-overrides.json and change its "type", "default", and "scope"/"category"
fields accordingly before running the docs generation.

2609-2612: ⚠️ Potential issue | 🟡 Minor

Self-referential alias text is incorrect.

Line 2611 says redpanda.value.subject.name.strategy is an alias for itself, which is not meaningful. Please replace with the correct alias target (or remove the alias sentence).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@modules/reference/partials/properties/topic-properties.adoc` around lines
2609 - 2612, The doc currently states that redpanda.value.subject.name.strategy
is a compatibility alias for itself; change the alias sentence so it refers to
the other setting instead — update the sentence under the
redpanda.value.subject.name.strategy section to say it is a compatibility alias
for confluent.value.subject.name.strategy (or remove the alias sentence entirely
if that mapping is incorrect), ensuring the symbols
redpanda.value.subject.name.strategy and confluent.value.subject.name.strategy
are used to identify the correct settings.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@modules/reference/attachments/redpanda-properties-v25.3.10.json`:
- Around line 5375-5389: The entry for the configuration key
default_redpanda_storage_mode is incorrectly marked as a topic property; update
its metadata (the object for "default_redpanda_storage_mode") to set
"is_topic_property": false (and remove any other topic-only flags if present) so
the cluster-side default remains a cluster property; apply the same change to
the other duplicate occurrence referenced (the entry at the other location for
default_redpanda_storage_mode).
- Around line 5477-5491: The property entry for delete_topic_enable is
incorrectly defined as a topic-scoped string placeholder; update
docs-data/property-overrides.json to make delete_topic_enable a cluster-level
boolean with "type": "boolean", "config_scope": "cluster", "default": true, an
appropriate descriptive "description" (replacing the generic placeholder), and
ensure "is_topic_property": false so the generated JSON
(redpanda-properties-*.json) picks up the correct metadata and appears on the
cluster property reference page instead of the topic page.
- Around line 3280-3311: The two properties
cloud_topics_disable_level_zero_gc_for_tests and
cloud_topics_disable_metastore_flush_loop_for_tests are test-only hooks but are
marked visibility: "user"; update their visibility to an internal/hidden value
(e.g., "internal" or "hidden") so they are not shown in user-facing docs,
leaving all other fields intact and ensuring both entries reflect the non-public
visibility.
- Around line 7556-7570: The listed properties (internal_rpc_request_timeout_ms,
oidc_group_claim_path,
partition_autobalancing_node_autodecommission_timeout_sec,
schema_registry_enable_qualified_subjects) are incorrectly marked as topic
properties; update each property's JSON object to use the correct
service/cluster scope (replace config_scope: "topic" with the appropriate
service-level value used elsewhere in this file, e.g., "broker" or "cluster")
and set is_topic_property: false; apply the same fix for the other occurrences
referenced (around lines 10276-10290, 10554-10568, 12958-12972) so these
settings are classified as service/cluster-level rather than topic-level in
generated docs.

---

Outside diff comments:
In `@modules/reference/partials/properties/topic-properties.adoc`:
- Around line 1122-1155: The metadata for delete_topic_enable is wrong in the
generated partials: update the property override for "delete_topic_enable" in
docs-data/property-overrides.json to mark its type as boolean, default true,
scope as cluster (not topic), nullable as No (and any restore-related flags as
appropriate), then regenerate the reference docs so the auto-generated file in
modules/reference/partials/properties reflects the correct boolean cluster
property and default value; look for the "delete_topic_enable" entry in
property-overrides.json and change its "type", "default", and "scope"/"category"
fields accordingly before running the docs generation.
- Around line 2609-2612: The doc currently states that
redpanda.value.subject.name.strategy is a compatibility alias for itself; change
the alias sentence so it refers to the other setting instead — update the
sentence under the redpanda.value.subject.name.strategy section to say it is a
compatibility alias for confluent.value.subject.name.strategy (or remove the
alias sentence entirely if that mapping is incorrect), ensuring the symbols
redpanda.value.subject.name.strategy and confluent.value.subject.name.strategy
are used to identify the correct settings.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f69e91f4-b258-45fd-a3a2-665957ef3522

📥 Commits

Reviewing files that changed from the base of the PR and between fe8a357 and 080c801.

📒 Files selected for processing (7)
  • docs-data/property-overrides.json
  • docs-data/redpanda-property-changes-v25.3.1-to-v25.3.3.json
  • docs-data/redpanda-property-changes-v25.3.9-to-v25.3.10.json
  • modules/get-started/pages/licensing/overview.adoc
  • modules/reference/attachments/redpanda-properties-v25.3.10.json
  • modules/reference/partials/properties/cluster-properties.adoc
  • modules/reference/partials/properties/topic-properties.adoc
💤 Files with no reviewable changes (2)
  • docs-data/redpanda-property-changes-v25.3.1-to-v25.3.3.json
  • docs-data/redpanda-property-changes-v25.3.9-to-v25.3.10.json

Comment thread modules/reference/attachments/redpanda-properties-v25.3.10.json
Comment on lines +5375 to +5389
"default_redpanda_storage_mode": {
"cloud_byoc_only": false,
"cloud_editable": true,
"cloud_readonly": false,
"cloud_supported": true,
"config_scope": "topic",
"default": null,
"defined_in": "override",
"description": "Configuration property: default_redpanda_storage_mode",
"is_deprecated": false,
"is_topic_property": true,
"name": "default_redpanda_storage_mode",
"type": "string",
"version": "dev",
"visibility": "user"
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

Don't classify default_redpanda_storage_mode as another topic property.

redpanda.storage.mode is the topic-level knob. If default_redpanda_storage_mode is also emitted with is_topic_property: true, the cluster-side default loses its separate cluster-property entry.

Also applies to: 11849-11863

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@modules/reference/attachments/redpanda-properties-v25.3.10.json` around lines
5375 - 5389, The entry for the configuration key default_redpanda_storage_mode
is incorrectly marked as a topic property; update its metadata (the object for
"default_redpanda_storage_mode") to set "is_topic_property": false (and remove
any other topic-only flags if present) so the cluster-side default remains a
cluster property; apply the same change to the other duplicate occurrence
referenced (the entry at the other location for default_redpanda_storage_mode).

Comment thread modules/reference/attachments/redpanda-properties-v25.3.10.json
Comment thread modules/reference/attachments/redpanda-properties-v25.3.10.json Outdated
mfernest and others added 2 commits March 16, 2026 17:50
…overview

- Change "Redpanda enterprise features" heading to "Redpanda Enterprise
  Edition features" for consistency with product naming on the page
- Fix Leader Pinning xref pointing to wrong anchor (Kerberos auth);
  now correctly links to develop:produce-data/leader-pinning.adoc

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lt true

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mfernest
Copy link
Copy Markdown
Contributor Author

@coderabbitai The delete_topic_enable property does not appear in topic-properties.adoc on this branch. Line 1122 in that file is delete.retention.ms, a different property.

delete_topic_enable is correctly placed in cluster-properties.adoc only (line 4137), typed as boolean with default true, via the override in docs-data/property-overrides.json. This comment appears to be a false positive.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 17, 2026

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the claim about delete_topic_enable placement
echo "=== Searching for delete_topic_enable in topic-properties.adoc ==="
rg -n "delete_topic_enable" modules/reference/partials/properties/topic-properties.adoc || echo "NOT FOUND in topic-properties.adoc"

echo ""
echo "=== Searching for delete_topic_enable in cluster-properties.adoc ==="
rg -n "delete_topic_enable" modules/reference/partials/properties/cluster-properties.adoc || echo "NOT FOUND in cluster-properties.adoc"

echo ""
echo "=== Line 1122 in topic-properties.adoc ==="
sed -n '1120,1125p' modules/reference/partials/properties/topic-properties.adoc

echo ""
echo "=== Line 4135-4140 in cluster-properties.adoc ==="
sed -n '4135,4140p' modules/reference/partials/properties/cluster-properties.adoc

echo ""
echo "=== delete_topic_enable in property-overrides.json ==="
rg -n "delete_topic_enable" docs-data/property-overrides.json

Length of output: 679


@mfernest You are correct — I've verified this directly in the codebase. delete_topic_enable does not appear in topic-properties.adoc (line 1122 there is delete.retention.ms), and it is correctly defined at line 4137 in cluster-properties.adoc as a cluster-scoped boolean property. The override in docs-data/property-overrides.json (line 796) is also properly applied. My earlier comment was a false positive — apologies for the noise.


✏️ Learnings added
Learnt from: mfernest
URL: https://github.com/redpanda-data/docs/pull/1610

Timestamp: 2026-03-17T18:36:27.877Z
Learning: In the redpanda-data/docs repository, the `delete_topic_enable` property is a cluster-scoped boolean property (default: true) documented only in `modules/reference/partials/properties/cluster-properties.adoc` (line 4137). It does NOT appear in `modules/reference/partials/properties/topic-properties.adoc`. Its description override is in `docs-data/property-overrides.json` at line 796.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.


🧠 Learnings used
Learnt from: CR
Repo: redpanda-data/docs PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-25T09:42:15.235Z
Learning: Applies to docs-data/property-overrides.json : Remove duplicate links from related_topics lists in property overrides to keep them clean

Learnt from: CR
Repo: redpanda-data/docs PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-25T09:42:15.235Z
Learning: Applies to docs-data/property-overrides.json : In property descriptions, never add enterprise license includes or markers like `include::reference:partial$enterprise-licensed-property.adoc[]`

@mfernest mfernest requested a review from dotnwat March 18, 2026 17:10
@mfernest
Copy link
Copy Markdown
Contributor Author

@dotnwat — gentle nudge on this one when you have a chance. Documents the delete_topic_enable enterprise feature for DOC-1942.

Comment thread modules/reference/partials/properties/cluster-properties.adoc
@dotnwat
Copy link
Copy Markdown
Member

dotnwat commented Mar 23, 2026

@dotnwat — gentle nudge on this one when you have a chance. Documents the delete_topic_enable enterprise feature for DOC-1942.

Thanks for pinging. Please don't hestitate to send me messages on slack too. I get a ton github notifications

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@micheleRP micheleRP left a comment

Choose a reason for hiding this comment

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

Review Summary

Property automation impact

Same pattern as PR #1607. File-by-file:

File Auto-generated? Should stay in PR?
docs-data/property-overrides.json No — manual config Yes — correct mechanism for documenting new properties
modules/get-started/pages/licensing/overview.adoc No — manual page Yes — safe, valuable content
modules/reference/partials/properties/cluster-properties.adoc Yes — generated No — will be overwritten; 234 added lines that are unreviewable
modules/reference/partials/properties/object-storage-properties.adoc Yes — generated No — will be overwritten
modules/reference/partials/properties/topic-properties.adoc Yes — generated No — 1017 added lines, will be overwritten
modules/reference/attachments/redpanda-properties-v25.3.10.json Yes — generated No — will be overwritten
docs-data/redpanda-property-changes-*.json (2 deleted) Yes — generated No — automation artifacts

Recommendation: Remove the 5 auto-generated files. Keep only property-overrides.json and licensing/overview.adoc.

The "version": "dev" problem (same as PR #1607)

The delete_topic_enable override has "version": "dev", which renders as "Introduced in dev" in the generated partial (confirmed in the diff). Additionally, this PR adds ~29 other properties with "version": "dev" in the overrides. The generated partials show 29 instances of *Introduced in dev* — all will appear in published docs.

The automation will auto-update these to the correct GA version when it runs against a release that includes them. But until then, users see "Introduced in dev" which is confusing.

Conflict with PR #1607

This PR overlaps with PR #1607 on 4 files:

  • docs-data/property-overrides.json
  • docs-data/redpanda-property-changes-v25.3.9-to-v25.3.10.json
  • modules/reference/attachments/redpanda-properties-v25.3.10.json
  • modules/reference/partials/properties/cluster-properties.adoc

Both PRs modify property-overrides.json and both include full regenerations of the same generated files. Whichever merges second will have conflicts. If the generated files are removed from both PRs (as recommended), the only real conflict would be in property-overrides.json, which should be a clean merge since they add different properties.

What should stay — review of manual content

property-overrides.json — the delete_topic_enable entry is well-structured:

"delete_topic_enable": {
  "version": "dev",
  "type": "boolean",
  "default": true,
  "description": "Controls whether topics can be deleted...",
  "related_topics": [...],
  "config_scope": "cluster"
}

This is the right approach — description, related_topics, config_scope, type, and default are all specified. Much more complete than #1607's minimal override. Same concern about "version": "dev" though.

licensing/overview.adoc — good changes:

  • Fixed section heading: "Redpanda enterprise features" → "Redpanda Enterprise Edition features"
  • Fixed broken Leader Pinning xref: manage:security/authentication.adoc#kerberosdevelop:produce-data/leader-pinning.adoc (the old link pointed to Kerberos, clearly wrong)
  • Added Topic Deletion Control row to the enterprise features table — well-written, clear description of behavior and license expiration impact

Style notes

  • The delete_topic_enable description in property-overrides.json is clear and includes the cross-reference to kafka_nodelete_topics — good differentiation
  • The enterprise features table entry is concise and follows the existing pattern
  • The Leader Pinning xref fix is a good catch (linking to Kerberos was incorrect)

Copy link
Copy Markdown
Contributor

@micheleRP micheleRP left a comment

Choose a reason for hiding this comment

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

@mfernest please see Claude's review

mfernest and others added 2 commits March 24, 2026 16:33
Remove property partials and JSON attachments that were included by the
auto-docs regen commit. Only property-overrides.json and the licensing
overview page belong in this PR.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@mfernest mfernest requested a review from micheleRP March 24, 2026 23:44
@micheleRP
Copy link
Copy Markdown
Contributor

Review: Claude feedback incorporation check

Checking whether the recommendations from the Claude (micheleRP) review have been addressed.

Claude Review Recommendations

The review had 3 main recommendations plus style observations:

1. Remove the 5 auto-generated files — ✅ Done

Commit f117f5f stripped all auto-generated files. The PR now only touches 2 files:

  • docs-data/property-overrides.json
  • modules/get-started/pages/licensing/overview.adoc

2. The "version": "dev" problem — ❌ Not addressed

The delete_topic_enable override still has "version": "dev", which will render as "Introduced in dev" in published docs. The review flagged this concern (same issue as PR #1607). While the generated partials were removed, the override itself still carries "version": "dev".

Additionally, the ~60+ bulk version-tag entries (e.g. "alter_topic_cfg_timeout_ms": { "version": "v25.3.10" }, various cloud_topics_* with "version": "dev") are still in property-overrides.json. The review noted these are shared across PRs #1607, #1610, and #1611 and recommended they be handled in a single dedicated automation PR to avoid conflicts.

3. Conflict with PR #1607 — Partially mitigated

Removing the generated files eliminates most file-level conflicts. However, property-overrides.json still overlaps heavily with PRs #1607 and #1611 due to the shared bulk automation additions. As the review noted, if the bulk entries were stripped from all three PRs, the only remaining conflict would be the unique property entries each PR adds (which would merge cleanly).

Manual content quality — ✅ Good (per review)

The review praised both manual files that remain:

  • property-overrides.json — the delete_topic_enable entry is well-structured with type, default, description, related_topics, and config_scope all specified
  • licensing/overview.adoc — heading fix, Leader Pinning xref fix, and new Topic Deletion Control table row are all good

Note: PR #1611 duplicates the heading fix and Leader Pinning xref fix from this PR. Only one PR should own those changes. Since this PR (#1610) is the delete_topic_enable feature PR, it's the natural home.

Summary

Recommendation Status
Remove 5 auto-generated files ✅ Done
Address "version": "dev" rendering ❌ Not done — delete_topic_enable and ~29 other properties still show "dev"
Strip bulk automation version tags (shared across 3 PRs) ❌ Not done
Resolve overlap with PRs #1607 and #1611 ⚠️ Partially — file conflicts reduced but property-overrides.json still overlaps
Manual content quality ✅ Good — no changes needed

Note: The CodeRabbit findings about delete_topic_enable appearing in topic-properties.adoc were confirmed as false positives (the property is correctly in cluster-properties.adoc only). The generated files that contained the issues have been removed.

mfernest and others added 2 commits March 26, 2026 09:00
…s.json

Strip bulk automation entries that only carried "version": "dev" or
"version": "v25.3.10" tags. These belong in a dedicated automation PR,
not scattered across content PRs. The delete_topic_enable override is
retained with its full description, type, default, and config_scope but
without the "version" field, which would have rendered as "Introduced in
dev" in published docs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Feediver1
Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Co-authored-by: Feediver1 <102751339+Feediver1@users.noreply.github.com>
Copy link
Copy Markdown

Copilot AI commented May 22, 2026

@copilot resolve the merge conflicts in this pull request

Resolved in 9970958. The only conflict was in docs-data/property-overrides.json — kept both the delete_topic_enable entry (from this branch) and the raft_election_timeout_ms entry (from main).

Copilot AI requested a review from Feediver1 May 22, 2026 18:53
Copy link
Copy Markdown
Contributor

@Feediver1 Feediver1 left a comment

Choose a reason for hiding this comment

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

PR Review: feat(DOC-1942): document delete_topic_enable enterprise feature (#1610)

Files reviewed: 2 files (16 additions / 2 deletions)
Overall assessment: Satisfies DOC-1942 precisely. All of @micheleRP's earlier review concerns appear to be in the current state (auto-generated files stripped; "version": "dev" updated to "v26.1.1"). One small PR-body fix recommended.

What this PR does

Two targeted additions for the new delete_topic_enable enterprise cluster property:

  • docs-data/property-overrides.json — adds the property override (type: boolean, default: true, full description, related_topics cross-links to kafka_nodelete_topics and the enterprise license page, config_scope: cluster) so the property renders correctly when the cluster-properties partial is next regenerated. Also adds the version override ("version": "v26.1.1").
  • modules/get-started/pages/licensing/overview.adoc — adds the "Topic Deletion Control" row to the Enterprise Edition features table, with a clear behavior summary and the license-expiration outcome. Also fixes the Leader Pinning xref (was pointing at manage:security/authentication.adoc#kerberos, now correctly points at develop:produce-data/leader-pinning.adoc).

Jira ticket alignment

Ticket: DOC-1942 — Document the new delete_topic_enable cluster config, which defaults to true and, when set to false, prevents all users (including superusers) from deleting topics. Setting to false requires an enterprise license.

Status: ✅ Satisfies the ticket completely. Coverage:

DOC-1942 requirement PR coverage
Document the new delete_topic_enable cluster config ✅ Full property override at property-overrides.json:2282
Defaults to true "default": true set explicitly
Setting to false prevents ALL topic deletion, including by superusers ✅ Description states: "When set to false, all topic deletion requests are rejected for all users, including superusers."
Requires enterprise license related_topics links to xref:get-started:licensing/index.adoc[enterprise license]; also listed in the Enterprise Edition features table with license-expiration behavior

The description also adds value the ticket didn't explicitly ask for: a cross-reference to kafka_nodelete_topics so readers can disambiguate cluster-wide protection (this property) from per-topic protection.

Critical issues (must fix)

None.

Impact on other files

  • Property partials & attachments will auto-regenerate. The property-overrides.json entry is the right mechanism — delete_topic_enable will appear in the auto-generated partials/properties/cluster-properties.adoc on the next property-docs job run (the same way election_timeout_ms appeared after PR #1611's merge).
  • modules/ROOT/nav.adoc ✓ — licensing/overview.adoc is already in nav; no nav update needed for a new table row on an existing page.
  • No What's New entry needed — the enterprise feature surfaces through licensing/overview.adoc, which already has its own entry path.
  • Cross-references verified:
    • xref:reference:properties/cluster-properties.adoc#kafka_nodelete_topics
    • xref:get-started:licensing/index.adoc[enterprise license]
    • xref:develop:produce-data/leader-pinning.adoc[Leader Pinning] ✓ (the bonus xref fix)
  • No cross-repo / single-source impact — both files are self-managed-only.

CodeRabbit findings worth considering

CodeRabbit's review (2026-03-17) posted 4 actionable inline comments and 2 outside-diff comments. All of them were on the auto-generated property files mfernest later stripped from the PR per @micheleRP's review, so they're effectively moot. None of CodeRabbit's findings apply to the two manual files that remain.

Outstanding review activity — status

  • @dotnwat APPROVED on 2026-03-23. The WCR-default question dotnwat raised was answered the same day by @andrwng (cluster configs default to WCR-enabled — link to the source-code default included). No follow-up required.

  • @micheleRP CHANGES_REQUESTED on 2026-03-24 with three concerns. All three are now addressed in the current PR state:

    @micheleRP concern Resolution
    Remove 5 auto-generated property files ✅ Stripped — GitHub's Files changed tab now shows only the two intentional files
    "version": "dev" would render as "Introduced in dev" in published partials ✅ Updated to "version": "v26.1.1" at property-overrides.json:796
    4-file overlap conflict with PR #1607 ✅ Resolved — PR #1607 has merged, and the auto-gen overlap is gone since those files were stripped from this PR

    @micheleRP — would you take another look and dismiss/refresh given everything's been addressed?

What works well

  • Hits DOC-1942's spec precisely. Type, default, destructive-operation behavior, and license requirement — all in, with the right level of detail.
  • Property override is more complete than the minimum. Includes related_topics cross-linking and a description that disambiguates from kafka_nodelete_topics — readers won't mix up the two settings.
  • Enterprise features table entry is well-written. Concise behavior summary plus the license-expiration outcome ("Topic deletion reverts to enabled (true)") — that license-expiration column is exactly the kind of operational detail customers ask about.
  • Bonus Leader Pinning xref fix. The old xref to the Kerberos anchor was broken (linked to authentication.adoc#kerberos, clearly wrong content); the new one points at the actual leader-pinning page.
  • property-overrides.json is the right mechanism. The doc survives future property-docs regenerations and integrates with the auto-generated reference.
  • Two engineer signals (dotnwat APPROVED + andrwng's WCR confirmation).
  • All CI green and the structural cleanup Michele recommended landed before mfernest left.

Final-pass review via /docs-team-standards:pr-review.

@Feediver1 Feediver1 self-requested a review May 22, 2026 19:40
Copy link
Copy Markdown
Contributor

@micheleRP micheleRP left a comment

Choose a reason for hiding this comment

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

Approving — all my earlier concerns were resolved in commits f117f5f (auto-gen files stripped) and ccc6055 (version: dev removed) before @mfernest left. CI green, branch up-to-date with main, xrefs verified. Ready to squash-merge.

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.

6 participants