Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature cleanup #24055

Merged
merged 15 commits into from
Nov 22, 2024
Merged

Feature cleanup #24055

merged 15 commits into from
Nov 22, 2024

Conversation

bashtanov
Copy link
Contributor

@bashtanov bashtanov commented Nov 7, 2024

I mostly started it because of the first commit to always get retriable RPC response when not all services started.
The rest is just cleanup for the sake of removing unneeded code.

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
  • v24.3.x
  • v24.2.x
  • v24.1.x
  • v23.3.x

Release Notes

  • none

@bashtanov
Copy link
Contributor Author

/dt

@bashtanov bashtanov marked this pull request as ready for review November 7, 2024 14:10
@bashtanov bashtanov force-pushed the feature-cleanup branch 2 times, most recently from 00d1de9 to b763ec7 Compare November 7, 2024 15:08
@vbotbuildovich
Copy link
Collaborator

vbotbuildovich commented Nov 7, 2024

non flaky failures in https://buildkite.com/redpanda/redpanda/builds/57783#0193076e-5362-4916-ad29-22271c770799:

"rptest.tests.cluster_features_test.FeaturesSingleNodeTest.test_get_features"

non flaky failures in https://buildkite.com/redpanda/redpanda/builds/57783#0193076e-5364-47b5-b206-449540932c26:

"rptest.tests.cluster_features_test.FeaturesMultiNodeTest.test_get_features"

non flaky failures in https://buildkite.com/redpanda/redpanda/builds/57783#0193076e-535c-4938-99dc-325d973c05d8:

"rptest.tests.controller_snapshot_test.ControllerSnapshotTest.test_upgrade_compat"

non flaky failures in https://buildkite.com/redpanda/redpanda/builds/57783#01930788-4f8d-4ffb-99c1-7694a65bc261:

"rptest.tests.controller_snapshot_test.ControllerSnapshotTest.test_upgrade_compat"

non flaky failures in https://buildkite.com/redpanda/redpanda/builds/57783#01930788-4f90-4180-b3f7-5a7b6204b707:

"rptest.tests.cluster_features_test.FeaturesSingleNodeTest.test_get_features"

non flaky failures in https://buildkite.com/redpanda/redpanda/builds/57783#01930788-4f8c-4667-98a0-2c2994c04648:

"rptest.tests.cluster_features_test.FeaturesMultiNodeTest.test_get_features"

non flaky failures in https://buildkite.com/redpanda/redpanda/builds/57955#01932106-407e-4144-bb6f-399068f79303:

"rptest.tests.tiered_storage_model_test.TieredStorageTest.test_tiered_storage.cloud_storage_type_and_url_style=.CloudStorageType.S3.1.virtual_host.test_case=.TS_Read==True.SegmentRolledByTimeout==True"

non flaky failures in https://buildkite.com/redpanda/redpanda/builds/58373#01934b13-e2b4-4de3-9ea2-922f6599cb72:

"rptest.tests.consumer_offsets_consistency_test.ConsumerOffsetsConsistencyTest.test_flipping_leadership"

@vbotbuildovich
Copy link
Collaborator

vbotbuildovich commented Nov 7, 2024

Retry command for Build#57783

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

/ci-repeat 1
tests/rptest/tests/cluster_features_test.py::FeaturesSingleNodeTest.test_get_features
tests/rptest/tests/cluster_features_test.py::FeaturesMultiNodeTest.test_get_features
tests/rptest/tests/controller_snapshot_test.py::ControllerSnapshotTest.test_upgrade_compat

Copy link
Member

@BenPope BenPope left a comment

Choose a reason for hiding this comment

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

My understanding:

  • features::earliest_version is already v23_3_1
  • application::post_start_tasks checks against earliest
  • So we don't need to assert anywhere on any of these features

I basically approve this PR, but think we should wait until the branch of v24.3 to merge it.

src/v/cluster/feature_manager.cc Show resolved Hide resolved
src/v/cluster/controller_backend.cc Outdated Show resolved Hide resolved
src/v/features/feature_table.h Outdated Show resolved Hide resolved
src/v/features/feature_table.h Outdated Show resolved Hide resolved
@bashtanov
Copy link
Contributor Author

@BenPope thanks for your review

we should wait until the branch of v24.3 to merge it

I'm not sure I understand why. features::earliest_version is already v23_3_1, and I'm only removing features that require this or earlier versions. They are also all available immediately, i.e. depend only on the code. So if we start some dev branch code, (whether before or after v24.3 branch) against any allowed data (which should be at least v23.3), we can safely assume the features are available straight away. Or am I missing something?

"serde_raft_0",
"license",
"raft_improved_configuration",
"raftless_node_status",
Copy link
Member

Choose a reason for hiding this comment

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

I think you're now missing "transaction_ga",

Copy link
Contributor Author

Choose a reason for hiding this comment

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

no, it is already there

@BenPope
Copy link
Member

BenPope commented Nov 12, 2024

@BenPope thanks for your review

we should wait until the branch of v24.3 to merge it

I'm not sure I understand why. features::earliest_version is already v23_3_1, and I'm only removing features that require this or earlier versions. They are also all available immediately, i.e. depend only on the code. So if we start some dev branch code, (whether before or after v24.3 branch) against any allowed data (which should be at least v23.3), we can safely assume the features are available straight away. Or am I missing something?

I agree, it should be safe.

You may want to fix some subtasks of CORE-2754

@vbotbuildovich
Copy link
Collaborator

Retry command for Build#57955

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

/ci-repeat 1
tests/rptest/tests/tiered_storage_model_test.py::TieredStorageTest.test_tiered_storage@{"cloud_storage_type_and_url_style":[1,"virtual_host"],"test_case":{"name":"(TS_Read == True, SegmentRolledByTimeout == True)"}}

@bashtanov
Copy link
Contributor Author

@bashtanov
Copy link
Contributor Author

/ci-repeat 1
tests/rptest/tests/tiered_storage_model_test.py::TieredStorageTest.test_tiered_storage@{"cloud_storage_type_and_url_style":[1,"virtual_host"],"test_case":{"name":"(TS_Read == True, SegmentRolledByTimeout == True)"}}

2 similar comments
@bashtanov
Copy link
Contributor Author

/ci-repeat 1
tests/rptest/tests/tiered_storage_model_test.py::TieredStorageTest.test_tiered_storage@{"cloud_storage_type_and_url_style":[1,"virtual_host"],"test_case":{"name":"(TS_Read == True, SegmentRolledByTimeout == True)"}}

@bashtanov
Copy link
Contributor Author

/ci-repeat 1
tests/rptest/tests/tiered_storage_model_test.py::TieredStorageTest.test_tiered_storage@{"cloud_storage_type_and_url_style":[1,"virtual_host"],"test_case":{"name":"(TS_Read == True, SegmentRolledByTimeout == True)"}}

@bashtanov
Copy link
Contributor Author

/dt

@@ -299,20 +299,18 @@ ss::future<> feature_manager::maybe_log_license_check_info() {
// Shutting down - next iteration will drop out
Copy link
Member

Choose a reason for hiding this comment

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

redpanda/admin/server, cluster/feature_manager: do not check feature:…
…:license
as it is on everywhere now

Commit message subject should not wrap. Body should stand on its own.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oops, sorry, I thought the limit was 80, but it's 50 for header and 72 for body, will fix

@mmaslankaprv
Copy link
Member

lgtm, afte Noah's suggestion is applied

@mmaslankaprv
Copy link
Member

do we need to backport it v24.3.x ?

Copy link
Member

@dotnwat dotnwat left a comment

Choose a reason for hiding this comment

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

c/rm_stm: remove feature::transaction_ga check

this commit removes an assertion but doesn't explain anything. seems like you may be missing a statement in the commit message.

That's feature::rpc_transport_unknown_errc.

On boostrap, when a node doesn't have all RPC services available yet, it
may return non-retriable errors on RPC requests. There is already a
mechanism thatmakes RPC return a retriable error on unknown method if
some services are still yet to start. Unfortunately, this mechanism
requires all nodes to support it, so we check for a feature flag before
we use it. As a result, non-retriable errors still can sneak through, as
checking the feature flag across all nodes takes some time.

This is to remove the feature flag check, as current and previous
versions definitely support it.
as it is always on in all suppoted versions now
feature::raft_improved_configuration is always on
in all suppoted versions now
as it is always on in all suppoted versions now
feature::raftless_node_status is always on in all suppoted versions now
feature::node_id_assignment is always on in all suppoted versions now
feature::replication_factor_change is always on in all suppoted versions
feature::ephemeral_secrets is always on in all suppoted versions now
feature::seeds_driven_bootstrap_capable is always on
in all suppoted versions now
it is always on in all suppoted versions now
feature::partition_move_revert_cancel
is always on in all suppoted versions now
it is always on in all suppoted versions now
@vbotbuildovich
Copy link
Collaborator

Retry command for Build#58373

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

/ci-repeat 1
tests/rptest/tests/consumer_offsets_consistency_test.py::ConsumerOffsetsConsistencyTest.test_flipping_leadership

@bashtanov
Copy link
Contributor Author

/dt

@bashtanov bashtanov merged commit ee98e07 into redpanda-data:dev Nov 22, 2024
16 checks passed
@vbotbuildovich
Copy link
Collaborator

/backport v24.3.x

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.

5 participants