Skip to content

[Backport perf-v15] fix(ScyllaYaml): replace enable_tablets with tablets_mode_for_new_keyspaces #10622

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

Draft
wants to merge 1 commit into
base: branch-perf-v15
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions configurations/force-gossip-topology-changes.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
append_scylla_yaml:
force_gossip_topology_changes: true
enable_tablets: false
tablets_mode_for_new_keyspaces: 'disabled'
1 change: 1 addition & 0 deletions configurations/tablets-initial-32.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
append_scylla_yaml:
enable_tablets: true
tablets_mode_for_new_keyspaces: 'enabled'
tablets_initial_scale_factor: 4
1 change: 1 addition & 0 deletions configurations/tablets_disabled.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
append_scylla_yaml:
enable_tablets: false
tablets_mode_for_new_keyspaces: 'disabled'
1 change: 1 addition & 0 deletions docker/scylla-sct/entry.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@ authorizer: 'CassandraAuthorizer'
EOM

sed -e '/enable_tablets:.*/s/true/false/g' -i /etc/scylla/scylla.yaml
sed -e '/tablets_mode_for_new_keyspaces:.*/s/enabled/disabled/g' -i /etc/scylla/scylla.yaml

/docker-entrypoint.py $*
1 change: 1 addition & 0 deletions docker/scylla-sct/entry_ssl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ client_encryption_options:
EOM

sed -e '/enable_tablets:.*/s/true/false/g' -i /etc/scylla/scylla.yaml
sed -e '/tablets_mode_for_new_keyspaces:.*/s/enabled/disabled/g' -i /etc/scylla/scylla.yaml

/docker-entrypoint.py $*
1 change: 1 addition & 0 deletions sdcm/provision/scylla_yaml/scylla_yaml.py
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,7 @@ def set_authorizer(cls, authorizer: str):
compaction_collection_items_count_warning_threshold: int = None # None

enable_tablets: bool = None # False, but default scylla.yaml for some versions (e.g. 6.0) override it to True
tablets_mode_for_new_keyspaces: Literal['disabled', 'enabled', 'enforced'] = None # enabled
force_gossip_topology_changes: bool = None # False

def dict( # pylint: disable=arguments-differ
Expand Down
22 changes: 22 additions & 0 deletions sdcm/utils/features.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,26 @@ def is_tablets_feature_enabled(session: Session) -> bool:
""" Check whether tablets enabled
if you need from a specific node use `patient_exclusive_cql_connection` session
"""
<<<<<<< HEAD
return TABLETS_FEATURE in get_enabled_features(session)
||||||| parent of 452e94855 (fix(ScyllaYaml): add `tablets_mode_for_new_keyspaces` configuration option)
with node.remote_scylla_yaml() as scylla_yaml:
# for backward compatibility of 2024.1 and earlier
if "tablets" in scylla_yaml.experimental_features:
return True
if scylla_yaml.dict().get("enable_tablets"):
return True

return False
=======
with node.remote_scylla_yaml() as scylla_yaml:
# for backward compatibility of 2024.1 and earlier
if "tablets" in scylla_yaml.experimental_features:
return True
if scylla_yaml.dict().get("enable_tablets"):
return True
if scylla_yaml.dict().get("tablets_mode_for_new_keyspaces") in ["enabled", "enforced"]:
return True

return False
>>>>>>> 452e94855 (fix(ScyllaYaml): add `tablets_mode_for_new_keyspaces` configuration option)
11 changes: 11 additions & 0 deletions test-cases/PR-provision-test-docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,14 @@ nemesis_filter_seeds: false
user_prefix: 'PR-provision-docker'

use_mgmt: false
<<<<<<< HEAD
||||||| parent of 452e94855 (fix(ScyllaYaml): add `tablets_mode_for_new_keyspaces` configuration option)

append_scylla_yaml:
enable_tablets: false # counters are not supported with tablets
=======

append_scylla_yaml:
enable_tablets: false # counters are not supported with tablets
tablets_mode_for_new_keyspaces: 'disabled' # counters are not supported with tablets
>>>>>>> 452e94855 (fix(ScyllaYaml): add `tablets_mode_for_new_keyspaces` configuration option)
11 changes: 11 additions & 0 deletions test-cases/PR-provision-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,14 @@ user_prefix: 'PR-provision-test'
instance_provision: 'spot'

use_preinstalled_scylla: true
<<<<<<< HEAD
||||||| parent of 452e94855 (fix(ScyllaYaml): add `tablets_mode_for_new_keyspaces` configuration option)

append_scylla_yaml:
enable_tablets: false # counters are not supported with tablets
=======

append_scylla_yaml:
enable_tablets: false # counters are not supported with tablets
tablets_mode_for_new_keyspaces: 'disabled' # counters are not supported with tablets
>>>>>>> 452e94855 (fix(ScyllaYaml): add `tablets_mode_for_new_keyspaces` configuration option)
177 changes: 177 additions & 0 deletions test-cases/longevity/longevity-aws-custom-d2-workload1-3dcs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
test_duration: 255
n_monitor_nodes: 1
n_db_nodes: '3 3 3'
n_loaders: '3 1 1'
instance_type_db: 'i4i.2xlarge'
instance_type_loader: 'c6i.xlarge'

user_prefix: 'long-custom-d2-wrkld1-3dc'
enterprise_disable_kms: true
use_preinstalled_scylla: true

endpoint_snitch: GossipingPropertyFileSnitch
internode_compression: 'all'
client_encrypt: true
append_scylla_yaml:
consistent_cluster_management: false
compaction_static_shares: 100
compaction_enforce_min_threshold: true
compaction_throughput_mb_per_sec: 0
# NOTE: workaround for the https://github.com/scylladb/scylladb/issues/19131
# Uncomment below line running Scylla version equal to or older than 2024.2 and 6.2
# allowed_repair_based_node_ops: "replace,removenode,rebuild,decommission"
enable_repair_based_node_ops: true
# NOTE: the 'enable_small_table_optimization_for_rbno' config option
# is supported only on Scylla versions newer than '2024.2' and '6.2'.
# See: https://github.com/scylladb/scylladb/pull/21207
enable_small_table_optimization_for_rbno: true
enable_tablets: false
tablets_mode_for_new_keyspaces: 'disabled'

nemesis_class_name: 'SisyphusMonkey'
nemesis_seed: '029'

round_robin: true
prepare_write_cmd:
# NOTE: --duration in these commands is number of rows that will be written.
# Time gets specified with 's', 'm' or 'h' letters.

# NOTE: first group of loaders from a single/first region write to all per-region main tables
- >-
latte run --tag latte-prepare-01 --duration 50100100 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 30 --connections 3 --concurrency 180 --rate 25000 -P offset=0
--function custom -P row_count=50100100 -P codes="\"T12F1\""
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-prepare-02 --duration 50100100 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 30 --connections 3 --concurrency 180 --rate 25000 -P offset=0
--function custom -P row_count=50100100 -P codes="\"T13F1\"" --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-prepare-03 --duration 50100100 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 30 --connections 3 --concurrency 180 --rate 25000 -P offset=0
--function custom -P row_count=50100100 -P codes="\"T14F1\"" --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

# NOTE: other loaders write multi-region tables, first half
- >-
latte run --tag latte-prepare-04 --duration 250050 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 30 --connections 3 --concurrency 30 --rate 1500 -P offset=0
--function custom -P row_count=250050 -P codes="\"T1F1\"" --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-prepare-05 --duration 550050 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 28 --connections 2 --concurrency 56 --rate 560 -P offset=0
--function custom -P row_count=550050 -P codes="\"T2F1,T3F1,T4F1\""
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

# NOTE: first group of loaders from a single/first region write to all per-region secondary tables
- >-
latte run --tag latte-prepare-06 --duration 1100100 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 28 --connections 2 --concurrency 56 --rate 560 -P offset=0
--function custom -P row_count=1100100 -P codes="\"T6F1\""
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-prepare-07 --duration 1100100 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 28 --connections 2 --concurrency 56 --rate 560 -P offset=0
--function custom -P row_count=1100100 -P codes="\"T7F1\"" --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-prepare-08 --duration 1100100 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 28 --connections 2 --concurrency 56 --rate 560 -P offset=0
--function custom -P row_count=1100100 -P codes="\"T8F1\"" --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

# NOTE: other loaders write multi-region tables, second half
- >-
latte run --tag latte-prepare-09 --duration 250050 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 30 --connections 3 --concurrency 30 --rate 1500 -P offset=250050
--function custom -P row_count=250050 -P codes="\"T1F1\"" --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-prepare-10 --duration 550050 --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 28 --connections 2 --concurrency 56 --rate 560 -P offset=550050
--function custom -P row_count=550050 -P codes="\"T2F1,T3F1,T4F1\""
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

stress_cmd:
# NOTE: write to main per-dc tables from loaders of dc-1
- >-
latte run --tag latte-main-01 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 30 --connections 3 --concurrency 180 --rate 50000 -P offset=0
--function custom -P row_count=50100100 -P codes="\"T12F1\"" -P print_applied_func_names=2
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-main-02 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 30 --connections 3 --concurrency 180 --rate 50000 -P offset=0
--function custom -P row_count=50100100 -P codes="\"T13F1\"" -P print_applied_func_names=2 --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-main-03 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 30 --connections 3 --concurrency 180 --rate 50000 -P offset=0
--function custom -P row_count=50100100 -P codes="\"T14F1\"" -P print_applied_func_names=2 --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

# NOTE: read dc-2 main table from dc-2 loader
- >-
latte run --tag latte-main-04 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 96 --rate 6000 -P offset=0
--function custom -P row_count=50100100 -P codes="\"T13F3\"" -P print_applied_func_names=2
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

# NOTE: read dc-3 main table from dc-3 loader
- >-
latte run --tag latte-main-05 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 96 --rate 6000 -P offset=0
--function custom -P row_count=50100100 -P codes="\"T14F3\"" -P print_applied_func_names=2
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

# NOTE: read dc-1 main table from dc-1 loader
- >-
latte run --tag latte-main-06 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 96 --rate 6000 -P offset=0
--function custom -P row_count=50100100 -P codes="\"T12F3\"" -P print_applied_func_names=2
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
# NOTE: read from special table with replication everywhere
- >-
latte run --tag latte-main-07 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 24 --rate 240 -P offset=0
--function custom -P row_count=500100 -P codes="\"T1F3\"" -P print_applied_func_names=2 --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
# NOTE: read dc-1 secondary table from dc-1 loader and read 3 other multi-region tables
- >-
latte run --tag latte-main-08 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 24 --rate 240 -P offset=0
--function custom -P row_count=1100100 -P codes="\"T6F3,T2F2,T3F3,T4F3\"" -P print_applied_func_names=2
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

# NOTE: read dc-2 secondary table from dc-2 loader and read 3 other multi-region tables
- >-
latte run --tag latte-main-09 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 24 --rate 240 -P offset=0
--function custom -P row_count=1100100 -P codes="\"T7F3,T2F2,T3F3,T4F3\"" -P print_applied_func_names=2
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

# NOTE: read dc-3 secondary table from dc-3 loader and read 3 other multi-region tables
- >-
latte run --tag latte-main-10 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 24 --rate 240 -P offset=0
--function custom -P row_count=1100100 -P codes="\"T8F3,T2F2,T3F3,T4F3\"" -P print_applied_func_names=2
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn

# NOTE: run per-dc main table specific scenario functions with insertions and deletions
- >-
latte run --tag latte-main-11 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 96 --rate 550 -P offset=50100100
--function custom -P row_count=1100100 -P codes="\"T12F7\"" -P print_applied_func_names=2
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-main-12 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 96 --rate 550 -P offset=50100100
--function custom -P row_count=1100100 -P codes="\"T13F7\"" -P print_applied_func_names=2 --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
- >-
latte run --tag latte-main-13 --duration 180m --request-timeout 60 --retry-interval '2s,10s'
--sampling 5s --threads 24 --connections 3 --concurrency 96 --rate 550 -P offset=50100100
--function custom -P row_count=1100100 -P codes="\"T14F7\"" -P print_applied_func_names=2 --consistency=QUORUM
scylla-qa-internal/custom_d2/workload1/latte/custom_d2_workload1.rn
Loading