Skip to content

[v25.3.x] config: add features_auto_finalization enterprise property#30461

Merged
dotnwat merged 1 commit into
v25.3.xfrom
ai-backport-90cfd44-v25.3.x-1778696820
May 14, 2026
Merged

[v25.3.x] config: add features_auto_finalization enterprise property#30461
dotnwat merged 1 commit into
v25.3.xfrom
ai-backport-90cfd44-v25.3.x-1778696820

Conversation

@dotnwat
Copy link
Copy Markdown
Member

@dotnwat dotnwat commented May 13, 2026

Manual backport of commit 90cfd44 from PR #30324, scoped to just the
features_auto_finalization cluster configuration option.

Backporting only the configuration knob (not the gating logic that
consumes it) lets operators on earlier releases set
features_auto_finalization=false before upgrading to v26.2, where
the manual-finalization flow ships. Without this backport, customers
would have to upgrade to v26.2 first and would lose the ability to
defer the active version advance before reaching the new minor.

Note that customers must be running this minor (or later) before the
major upgrade to v26.2 in order to make use of the manual
finalization flow.

Tracked in CORE-16305.
Original PR: #30324.

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v26.1.x
  • v25.3.x
  • v25.2.x

Release Notes

Improvements

  • Backport features_auto_finalization cluster configuration option to allow opting out of automatic upgrade finalization before upgrading to v26.2.

@dotnwat dotnwat requested a review from a team as a code owner May 13, 2026 18:31
Adds a cluster configuration knob to defer cluster
active logical version advance until explicit operator action via
the admin API. Default `true` preserves existing behavior; setting
to `false` enables the new manual-finalization flow, which is gated
by an Enterprise license via the `enterprise<>` property wrapper.
Independent of `features_auto_enable`, which separately governs
per-feature auto-activation after the version advance. The gating
logic that consumes this property lands in a follow-up commit.

The configuration option is made a non-user-visible tunable in 25.3.x
because it is a noop until 26.2 but we want users to still be able to
set it prior to starting a multi-verison-hop upgrade sequence. In 26.1
it is a normal, user-visible configuration option.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@dotnwat dotnwat force-pushed the ai-backport-90cfd44-v25.3.x-1778696820 branch from 9cf2c38 to d67bc66 Compare May 14, 2026 17:33
@dotnwat
Copy link
Copy Markdown
Member Author

dotnwat commented May 14, 2026

@pgellert i made the option a tunable instead of a user-visible config in 25.3 since it's a noop in the 25.3->26.1 hop but still useful to be able to set prior to a multi-hop upgrade sequence. In 26.1 its normal user visiblilty.

@dotnwat dotnwat enabled auto-merge May 14, 2026 17:58
@vbotbuildovich
Copy link
Copy Markdown
Collaborator

vbotbuildovich commented May 14, 2026

Retry command for Build#84459

please wait until all jobs are finished before running the slash command

/ci-repeat 1
skip-redpanda-build
skip-units
skip-rebase
tests/rptest/tests/read_replica_e2e_test.py::TestReadReplicaService.test_writes_forbidden@{"cloud_storage_type":1,"partition_count":10}
tests/rptest/tests/write_caching_fi_test.py::WriteCachingFailureInjectionTest.test_unavoidable_data_loss

@vbotbuildovich
Copy link
Copy Markdown
Collaborator

CI test results

test results on build#84459
test_status test_class test_method test_arguments test_kind job_url passed reason test_history
FLAKY(PASS) FollowerFetchingTest test_follower_fetching_with_maintenance_mode {"fetch_from": "fetch-from-tiered-storage"} integration https://buildkite.com/redpanda/redpanda/builds/84459#019e27a6-b04d-454f-ab49-8ed2d826b555 10/11 Test PASSES after retries.No significant increase in flaky rate(baseline=0.0000, p0=1.0000, reject_threshold=0.0100. adj_baseline=0.1000, p1=0.3487, trust_threshold=0.5000) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=FollowerFetchingTest&test_method=test_follower_fetching_with_maintenance_mode
FLAKY(PASS) PartitionReassignmentsTest test_reassignments_cancel null integration https://buildkite.com/redpanda/redpanda/builds/84459#019e27a6-b052-4ac9-ac61-8093b2513649 9/11 Test PASSES after retries.No significant increase in flaky rate(baseline=0.0769, p0=0.5509, reject_threshold=0.0100. adj_baseline=0.2135, p1=0.3365, trust_threshold=0.5000) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=PartitionReassignmentsTest&test_method=test_reassignments_cancel
FLAKY(FAIL) TestReadReplicaService test_writes_forbidden {"cloud_storage_type": 1, "partition_count": 10} integration https://buildkite.com/redpanda/redpanda/builds/84459#019e27ae-5b84-4bdd-b6ec-d68ff8189f36 9/11 Test FAILS after retries.Significant increase in flaky rate(baseline=0.0000, p0=0.0000, reject_threshold=0.0100) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=TestReadReplicaService&test_method=test_writes_forbidden
FLAKY(PASS) ScalingUpTest test_scaling_up_with_recovered_topic null integration https://buildkite.com/redpanda/redpanda/builds/84459#019e27ae-5b82-446c-b76b-afd754de6923 10/11 Test PASSES after retries.No significant increase in flaky rate(baseline=0.0000, p0=1.0000, reject_threshold=0.0100. adj_baseline=0.1000, p1=0.3487, trust_threshold=0.5000) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=ScalingUpTest&test_method=test_scaling_up_with_recovered_topic
FLAKY(FAIL) WriteCachingFailureInjectionTest test_unavoidable_data_loss null integration https://buildkite.com/redpanda/redpanda/builds/84459#019e27ae-5b80-4593-b4f5-f0b93fd47c32 9/11 Test FAILS after retries.Significant increase in flaky rate(baseline=0.0000, p0=0.0000, reject_threshold=0.0100) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=WriteCachingFailureInjectionTest&test_method=test_unavoidable_data_loss

@dotnwat dotnwat merged commit a6ac547 into v25.3.x May 14, 2026
18 checks passed
@dotnwat dotnwat deleted the ai-backport-90cfd44-v25.3.x-1778696820 branch May 14, 2026 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants