[v25.3.x] [CORE-16880] kafka: autocreate internal topics with correct properties - #31241
Merged
WillemKauf merged 5 commits intoAug 11, 2026
Conversation
For later use in the `kafka/server/handlers/metadata` layer when autocreating this topic. (cherry picked from commit 5f2855f)
For later use in the `kafka/server/handlers/metadata` layer when autocreating this topic. (cherry picked from commit f2d1854)
For later use in the `kafka/server/handlers/metadata` layer when autocreating this topic. Also extract `controller::internal_topic_replication()` into a free function in `cluster/members_table.h`, so that callers without access to the controller can compute the replication factor for internal topics. (cherry picked from commit 932c5bc)
The auto create topics path would always create topics with default cluster configurations. This is very incorrect for certain special topics such as `_schemas`, `__consumer_offsets`, or our internal `_redpanda.audit_log` topic. Use the newly available config accessors for these specific topics, and use them when autocreating these topics to ensure we are constructing these topics with the correct properties. (cherry picked from commit 2be356f)
End to end tests that perform a metadata request on some specific internal topics, and assert that the topics were created with the intended topic properties. (cherry picked from commit f6ac88a)
WillemKauf
force-pushed
the
ai-backport-pr-31234-v25.3.x-1784756347
branch
from
July 23, 2026 21:09
543d676 to
ff32d54
Compare
WillemKauf
approved these changes
Jul 23, 2026
Collaborator
Author
Retry command for Build#87659please wait until all jobs are finished before running the slash command |
Collaborator
Author
CI test resultstest results on build#87659
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of PR #31234
Conflict details
//src/v/clustertarget while the source branch splits it into fine-grained sub-targets. Kept the umbrella//src/v/clusterand added only//src/v/cluster:topic_configuration(the dep the commit actually introduced, needed by the newaudit_log_topic.cc/.hwhich usecluster::topic_properties); dropped the other cluster sub-deps that are only present on the source branch's split layout.//src/v/configto themembers_tabletarget; on the target branchmembers_table.ccis compiled by the monolithicclustertarget, which already depends on//src/v/config, so the intent is already satisfied. Resolved to the target-branch (HEAD) version.//src/v/cluster:topic_configuration(needed bygroup_initializer.cc, which now usescluster::topic_configuration); the other incoming cluster sub-deps are provided by the umbrella//src/v/clusteron the target branch.base/likely.handutils/to_string.hincludes) resolved by keeping both sides in sorted order and adding the commit's newcluster/members_table.handsecurity/audit/audit_log_topic.hincludes. One body conflict where the commit removed the inline defaulttopic_configuration cfgblock (now handled by the merged-inautocreate_topic_configuration()); applied that removal while preserving the target branch'stout = create_topic_timeout_ms()(the commit left thetoutline as unchanged context; the timeout accessor is a pre-existing branch divergence the commit did not intend to change).Fixes: #31240,