-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Remove consistent-topology-changes experimental feature #17802
Comments
Not sure if we want to wait with this until we fix all dtest failures. Fixing dtest failures first may make the process simpler -- there should be fewer adjustments needed for scylla-dtest in that case. |
After discussion on today's status, we decided that we will replace the experimental flag with a flag which will allow disabling raft-topology when starting new cluster (basically, the reverse of the current experimental feature). The flag is not to be used by customers/users, the purpose is to continue testing gossip-mode operations in dtests and SCT. cc @temichus @enaydanov @aleksbykov @avikivity @mykaul @kostja @bhalevy |
Have we ever introduced such a flag? What cc @avikivity |
|
Please see https://github.com/scylladb/scylla-dtest/pull/4066#issuecomment-2027757489 |
edit: renamed Since fixing this issue will require merging multiple PRs in different repos, I post the plan, so we don't get lost. We will make
We want to merge changes to Scylla and to dtest in a way that ensures that all tests are run correctly during the whole process. If we merged all changes to Scylla first, all tests would run with raft-topology and the ones excluded in raft-topology would fail. We also can't merge all changes to dtest first. Here is the proposed merging plan:
After merging all changes above, we will still have a small issue. Using raft-topology will become default, but Jenkins jobs' names won't reflect it. For example, we will have
@scylladb/scylla-maint @fruch @yaronkaikov |
We are going to remove the `consistent-topology-changes` experimental feature in 6.0. However, the topology upgrade procedure will be manual and voluntary, so some 6.0 clusters will be using the gossip-based topology. Therefore, we need to continue testing the gossip-based topology. The solution is introducing a new flag, `disable-consistent-topology-changes`, that will enforce the gossip-based topology in a fresh cluster. In this patch, we only introduce the parameter without any effect. Here is the explanation. Removing `consistent-topology-changes` and introducing `disable-consistent-topology-changes` requires adjustments in scylla-dtest. We want to merge changes to scylladb and scylla-dtest in a way that ensures all tests are run correctly during the whole process. If we merged all changes to scylladb first, before merging the scylla-dtest changes, all tests would run with the raft-based topology and the ones excluded in the raft-based topology would fail. We also can't merge all changes to scylla-dtest first. However, we can follow this plan: 1. scylladb: merge this patch 2. scylla-dtest: start using `disable-consistent-topology-changes` in jobs that run without the raft-based topology 3. scylladb: merge the rest of the changes 4. scylla-dtest: merge the rest of the changes Ref scylladb#17802
@kbr-scylla unless Tzach explicitly requested "disable-" I join Avi's opinion and prefer to avoid double negation. |
AFAIK, I did not request a "disable-" fleg |
The new proposal is |
We are going to remove the `consistent-topology-changes` experimental feature in 6.0. However, the topology upgrade procedure will be manual and voluntary, so some 6.0 clusters will be using the gossip-based topology. Therefore, we need to continue testing the gossip-based topology. The solution is introducing a new flag, `disable-consistent-topology-changes`, that will enforce the gossip-based topology in a fresh cluster. In this patch, we only introduce the parameter without any effect. Here is the explanation. Removing `consistent-topology-changes` and introducing `disable-consistent-topology-changes` requires adjustments in scylla-dtest. We want to merge changes to scylladb and scylla-dtest in a way that ensures all tests are run correctly during the whole process. If we merged all changes to scylladb first, before merging the scylla-dtest changes, all tests would run with the raft-based topology and the ones excluded in the raft-based topology would fail. We also can't merge all changes to scylla-dtest first. However, we can follow this plan: 1. scylladb: merge this patch 2. scylla-dtest: start using `disable-consistent-topology-changes` in jobs that run without the raft-based topology 3. scylladb: merge the rest of the changes 4. scylla-dtest: merge the rest of the changes Ref scylladb#17802
We are going to remove the `consistent-topology-changes` experimental feature in 6.0. However, the topology upgrade procedure will be manual and voluntary, so some 6.0 clusters will be using the gossip-based topology. Therefore, we need to continue testing the gossip-based topology. The solution is introducing a new flag, `disable-consistent-topology-changes`, that will enforce the gossip-based topology in a fresh cluster. In this patch, we only introduce the parameter without any effect. Here is the explanation. Removing `consistent-topology-changes` and introducing `disable-consistent-topology-changes` requires adjustments in scylla-dtest. We want to merge changes to scylladb and scylla-dtest in a way that ensures all tests are run correctly during the whole process. If we merged all changes to scylladb first, before merging the scylla-dtest changes, all tests would run with the raft-based topology and the ones excluded in the raft-based topology would fail. We also can't merge all changes to scylla-dtest first. However, we can follow this plan: 1. scylladb: merge this patch 2. scylla-dtest: start using `disable-consistent-topology-changes` in jobs that run without the raft-based topology 3. scylladb: merge the rest of the changes 4. scylla-dtest: merge the rest of the changes Ref scylladb#17802
We are going to make the `consistent-topology-changes` experimental feature unused in 6.0. However, the topology upgrade procedure will be manual and voluntary, so some 6.0 clusters will be using the gossip-based topology. Therefore, we need to continue testing the gossip-based topology. The solution is introducing a new flag, `force-gossip-topology-changes`, that will enforce the gossip-based topology in a fresh cluster. In this patch, we only introduce the parameter without any effect. Here is the explanation. Making `consistent-topology-changes` unused and introducing `force-gossip-topology-changes` requires adjustments in scylla-dtest. We want to merge changes to scylladb and scylla-dtest in a way that ensures all tests are run correctly during the whole process. If we merged all changes to scylladb first, before merging the scylla-dtest changes, all tests would run with the raft-based topology and the ones excluded in the raft-based topology would fail. We also can't merge all changes to scylla-dtest first. However, we can follow this plan: 1. scylladb: merge this patch 2. scylla-dtest: start using `force-gossip-topology-changes` in jobs that run without the raft-based topology 3. scylladb: merge the rest of the changes 4. scylla-dtest: merge the rest of the changes Ref scylladb#17802
We are going to make the `consistent-topology-changes` experimental feature unused in 6.0. However, the topology upgrade procedure will be manual and voluntary, so some 6.0 clusters will be using the gossip-based topology. Therefore, we need to continue testing the gossip-based topology. The solution is introducing a new flag, `force-gossip-topology-changes`, that will enforce the gossip-based topology in a fresh cluster. In this patch, we only introduce the parameter without any effect. Here is the explanation. Making `consistent-topology-changes` unused and introducing `force-gossip-topology-changes` requires adjustments in scylla-dtest. We want to merge changes to scylladb and scylla-dtest in a way that ensures all tests are run correctly during the whole process. If we merged all changes to scylladb first, before merging the scylla-dtest changes, all tests would run with the raft-based topology and the ones excluded in the raft-based topology would fail. We also can't merge all changes to scylla-dtest first. However, we can follow this plan: 1. scylladb: merge this patch 2. scylla-dtest: start using `force-gossip-topology-changes` in jobs that run without the raft-based topology 3. scylladb: merge the rest of the changes 4. scylla-dtest: merge the rest of the changes Ref scylladb#17802
We are going to make the `consistent-topology-changes` experimental feature unused in 6.0. However, the topology upgrade procedure will be manual and voluntary, so some 6.0 clusters will be using the gossip-based topology. Therefore, we need to continue testing the gossip-based topology. The solution is introducing a new flag, `force-gossip-topology-changes`, that will enforce the gossip-based topology in a fresh cluster. In this patch, we only introduce the parameter without any effect. Here is the explanation. Making `consistent-topology-changes` unused and introducing `force-gossip-topology-changes` requires adjustments in scylla-dtest. We want to merge changes to scylladb and scylla-dtest in a way that ensures all tests are run correctly during the whole process. If we merged all changes to scylladb first, before merging the scylla-dtest changes, all tests would run with the raft-based topology and the ones excluded in the raft-based topology would fail. We also can't merge all changes to scylla-dtest first. However, we can follow this plan: 1. scylladb: merge this patch 2. scylla-dtest: start using `force-gossip-topology-changes` in jobs that run without the raft-based topology 3. scylladb: merge the rest of the changes 4. scylla-dtest: merge the rest of the changes Ref #17802 Closes #18284
…al and make it the default for new clusters' from Patryk Jędrzejczak We move consistent cluster management out of experimental and make it the default for new clusters in 6.0. In code, we make the `consistent-topology-changes` flag unused and assumed to be true. In 6.0, the topology upgrade procedure will be manual and voluntary, so some clusters will still be using the gossip-based topology even though they support the raft-based topology. Therefore, we need to continue testing the gossip-based topology. This is possible by using the `force-gossip-topology-changes` flag introduced in #18284. Ref #17802 Closes #18285 * github.com:scylladb/scylladb: docs: raft.rst: update after removing consistent-topology-changes treewide: fix indentation after the previous patch db: config: make consistent-topology-changes unused test: lib: single_node_cql_env: restart a node in noninitial run_in_thread calls test: test_read_required_hosts: run with force-gossip-topology-changes storage_service: join_cluster: replace force_gossip_based_join with force-gossip-topology-changes storage_service: join_token_ring: fix finish_setup_after_join calls
Step 4 of the plan #17802 (comment) was done, so I'm closing the issue as done. @patjed41 please create a follow-up issue for the cleanups you mentioned at the end. |
I opened #18600 |
Raft-based topology is planned GA for 6.0, so we need to take off the experimental feature.
Best to do it before branching.
We'll need to coordinate the change in ScyllaDB repo with changes in scylla-dtest and scylla-pkg, maybe more repositories. They all refer to this experimental feature.
Similar effort was done when we removed consistent_cluster_management: #16334, https://github.com/scylladb/scylla-pkg/pull/3722, https://github.com/scylladb/scylla-dtest/pull/3770 (@patjed41)
cc @mykaul @avikivity @kostja
We decided that we will replace the experimental flag with a flag which will allow disabling raft-topology when starting new cluster (basically, the reverse of the current experimental feature).
The flag is not to be used by customers/users, the purpose is to continue testing gossip-mode operations in dtests and SCT.
The dtest jobs will have to be adjusted as well; we'll need to continue running the gossip-mode jobs.
The text was updated successfully, but these errors were encountered: