scylladb / scylla-manager

The Scylla Manager
https://manager.docs.scylladb.com/stable/
Other
48 stars 33 forks source link

Can not restore schema from backup of cluster_1 to cluster_2, ScyllaDB 6.0 (tablets enabled) #3897

Open mikliapko opened 1 week ago

mikliapko commented 1 week ago

Preconditions:

Steps:

  1. Backup the first cluster;
  2. Corrupt the data in node_2 of cluster_2;
  3. Configure Manager for cluster_2;
  4. Restore the schema from the backup of the cluster_1 into the cluster_2; sctool restore -c 8ce76feb-d543-4d6d-8f6a-1e997726c4d1 --restore-schema --location s3:backup-bucket --snapshot-tag sm_20240621115957UTC
  5. Check restore operation status

Actual result: The operation status is ERROR:

Expected result: The operation status is DONE.

Environment:

Additional info:

Michal-Leszczynski commented 1 week ago

@mikliapko this looks like a test setup error. One of the requirements of restoring schema is to do so into an empty cluster - which is not the case here. This still worked fine in the past, because the existing schema and restored schema were the same, so restored sstables from backup didn't break anything.

This requirement will be less invasive when working with Scylla 6.0 (I have yet to prepare the docs describing it), but it will say that the restore destination cluster can't have any overlapping schema with the restored schema. That's because with Scylla 6.0 SM restores schema via CQL and if overlapping schema exists, it returns the CQL error mentioned above.

mikliapko commented 1 day ago

Since the setup the test does is not valid, it was decided to remove it from dtest. https://github.com/scylladb/scylla-dtest/pull/4526