Skip to content

Scylla Manager feature test for Alternator backup and restore #11696

@m-szymon

Description

@m-szymon

Alternator requires separate (non-CQL based) workflow for backup and restore - which was already discussed in several places - scylladb/scylla-manager#4509
The new workflow should also have an E2E test, as requested here: scylladb/scylla-manager#4505

If I understand correctly, the existing mgmt_cli_test.ManagerRestoreTests.test_restore_backup_with_task

def test_restore_backup_with_task(self, ks_names: list = None):

can be adapted to support Alternator:

  • create_backup_task and create_restore_task may need to add some arguments to manager command, (@Michal-Leszczynski or is it going to automatically recognize Alternator tables?)
    def create_restore_task(self, restore_schema=False, restore_data=False, location_list=None, snapshot_tag=None,
  • the workload of the test may be defined by setting different loader in prepare_write_cmd (to setup tables) and stress_read_cmd (to check expected state of tables):
    prepare_write_cmd: ["cassandra-stress write cl=ONE n=1048576 -schema 'replication(strategy=NetworkTopologyStrategy,replication_factor=3) compaction(strategy=LeveledCompactionStrategy)' -mode cql3 native -rate threads=50 -col 'size=FIXED(1024) n=FIXED(1)' -pop seq=1..1048576"]
    stress_read_cmd: ["cassandra-stress read cl=ONE n=1048576 -schema 'replication(strategy=NetworkTopologyStrategy,replication_factor=3) compaction(strategy=LeveledCompactionStrategy)' -mode cql3 native -rate threads=50 -col 'size=FIXED(1024) n=FIXED(1)' -pop seq=1..1048576"]

@mikliapko, is that correct? Are there any nuances I should be aware of?

Regarding loaders, ycsb is currently the only loader that supports Alternator, right? It may be used directly, but I am not sure if it supports some corner cases we would want to test:

  • specific characters in names (especially dashes and dots)
  • GSI with two key columns and computed columns
  • LSI

So this may need extending the loader.

Is it worth trying to run whole suites or would this test be enough to test Alternator support? @ScyllaPiotr @Michal-Leszczynski @mikliapko

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions