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

test(longevity vnodes and tablets): Add test for a cluster with both vnodes and tablets #10000

Draft
wants to merge 1 commit into
base: master
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!groovy

// trick from https://github.com/jenkinsci/workflow-cps-global-lib-plugin/pull/43
def lib = library identifier: 'sct@snapshot', retriever: legacySCM(scm)

longevityPipeline(
backend: 'aws',
region: 'eu-west-1',
test_name: 'longevity_test.LongevityTest.test_custom_time',
test_config: 'test-cases/longevity/longevity-1tb-48h-mixed-tablets-vnodes-topology-changes.yaml'

)
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
test_duration: 3100

# Explictily create 2 keyspaces, one with tablets enabled and one with tablets disabled
pre_create_keyspace: [
"CREATE KEYSPACE keyspace1 WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'replication_factor': 3 } AND tablets = {'enabled': true};",
"CREATE KEYSPACE keyspace2 WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'replication_factor': 3 } AND tablets = {'enabled': false};"
]

# write 500 GB of data to each of the keyspaces
prepare_write_cmd:
- "cassandra-stress write cl=ALL n=524288000 -schema 'keyspace=keyspace1 replication(strategy=NetworkTopologyStrategy,replication_factor=3)' -mode cql3 native -rate threads=1000 -col 'size=FIXED(1024) n=FIXED(1)' -pop seq=1..524288000 -log interval=15"
- "cassandra-stress write cl=ALL n=524288000 -schema 'keyspace=keyspace2 replication(strategy=NetworkTopologyStrategy,replication_factor=3)' -mode cql3 native -rate threads=1000 -col 'size=FIXED(1024) n=FIXED(1)' -pop seq=1..524288000 -log interval=15"

# run mixed workload on both keyspaces for 40 hours
# run write workload that adds 300 GB of data to each of the keyspaces
stress_cmd:
- "cassandra-stress mixed cl=QUORUM duration=40h -schema 'keyspace=keyspace1' -mode cql3 native -rate threads=100 -col 'size=FIXED(1024) n=FIXED(1)' -pop seq=1..524288000 -log interval=15"
- "cassandra-stress mixed cl=QUORUM duration=40h -schema 'keyspace=keyspace2' -mode cql3 native -rate threads=100 -col 'size=FIXED(1024) n=FIXED(1)' -pop seq=1..524288000 -log interval=15"
- "cassandra-stress write cl=QUORUM duration=40h -schema 'keyspace=keyspace1' -mode cql3 native -rate threads=100 -col 'size=FIXED(1024) n=FIXED(1)' -pop seq=524288001..838860800 -log interval=15"
- "cassandra-stress write cl=QUORUM duration=40h -schema 'keyspace=keyspace2' -mode cql3 native -rate threads=100 -col 'size=FIXED(1024) n=FIXED(1)' -pop seq=524288001..838860800 -log interval=15"

run_fullscan:
- '{"mode": "table_and_aggregate", "ks_cf": "random", "interval": 60}'

n_db_nodes: 4
instance_type_db: 'i4i.4xlarge'

n_loaders: 2
instance_type_loader: 'c7i.2xlarge'
round_robin: true

n_monitor_nodes: 1
instance_type_monitor: 'm6i.xlarge'

nemesis_class_name: 'SisyphusMonkey'
nemesis_selector: ["topology_changes"]
nemesis_seed: '003'
nemesis_interval: 5
nemesis_during_prepare: false

user_prefix: 'longevity-1tb-mixed-tablets-vnodes-topology-changes'

server_encrypt: true
client_encrypt: true
authenticator: 'PasswordAuthenticator'
authenticator_user: cassandra
authenticator_password: cassandra
authorizer: 'CassandraAuthorizer'

use_preinstalled_scylla: true