Was this page helpful?
Note
Currently, Scylla Manager supports only entire schema restoration, so --keyspace
flag is not allowed.
Note
Because of small size of schema files, resuming schema restoration always starts from scratch.
Warning
Restoring schema into a cluster with ScyllaDB 5.4.X or 2024.1.X with consistent_cluster_management: true
isn’t supported. Please see the following workaround.
--restore-schema
flag.system_schema keyspace
, such as keyspace and table definitions. All other data stored in keyspaces managed by ScyllaDB, such as authentication data in the system_auth
keyspace, is restored as part of the restore tables procedure.ScyllaDB Manager with CQL credentials to restore destination cluster.
Otherwise, the restored schema might be overwritten by the already existing one and cause unexpected errors.
All nodes in restore destination cluster should be in the UN
state (See nodetool status for details).
This section contains a description of the restore-schema procedure performed by ScyllaDB Manager.
Because of being unable to alter schema tables tombstone_gc
option, restore procedure “simulates ad-hoc repair”
by duplicating data from each backed-up node into each node in restore destination cluster.
However, the small size of schema files makes this overhead negligible.
Validate that all nodes are in the
UN
stateFor each backup location:
Find all ScyllaDB nodes with location access and use them for restoring schema from this location
List backup manifests for specified snapshot tag
For each manifest:
Filter relevant tables from the manifest
For each table:
For each node (in
--parallel
):
Download all SSTables
For all nodes in restore destination cluster:
nodetool refresh on all downloaded schema tables (full parallel)
After successful restore it is important to perform necessary follow-up action. In case of restoring schema, you should make a rolling restart of an entire cluster. Without the restart, the restored schema might not be visible, and querying it can return various errors.
Restoring schema when using ScyllaDB 5.4.X or 2024.1.X with consistent_cluster_management: true
in scylla.yaml
is not supported. In such case, you should perform the following workaround:
Create a fresh cluster with
consistent_cluster_management: false
configured inscylla.yaml
and a desired ScyllaDB version.Restore schema via sctool restore with
--restore-schema
flag.Perform rolling restart of an entire cluster.
Follow the steps of the Enable Raft procedure.
Was this page helpful?