CassandraRestore Configuration
CassandraRestore Field Specification Reference
| Field | Description | Is Required | Default |
|---|---|---|---|
cassandraCluster | The CassandraCluster the restore is going to be used on | Y | |
cassandraBackup | The CassandraBackup the operator is going to restore to the cluster. If omitted the storageLocation, snapshotTag and secretName should be set. | N | |
storageLocation | Location of SSTables. Example: protocol://myBucket. protocol can be gcp, s3, azure or oracle | N | |
secretName | Name of the secret where cloud storage credentials are located | Y | |
concurrentConnections | number of threads used for upload, there might be at most so many uploading threads at any given time | N | 10 |
dc | Name of datacenter(s) against which restore will be done. It means that nodes in a different DC will not receive restore requests. | N | |
entities | database entities to backup, it might be either only keyspaces or only tables (from different keyspaces if needed). E.g. 'k1,k2' if one wants to backup whole keyspaces and 'ks1.t1,ks2,t2' if one wants to backup tables. | N | All keyspaces |
timeout | number of hours to wait until backup is considered failed if not finished already | N | 5 |
noDeleteTruncates | flag saying if we should not delete truncated SSTables after they are imported, as part of CLEANUP phase, defaults to false | N | false |
noDeleteDownloads | flag saying if we should not delete downloaded SSTables from remote location, as part of CLEANUP phase, defaults to false | N | false |
noDownloadData | flag saying if we should not download data from remote location as we expect them to be there already, defaults to false | N | false |
import | controls the SSTables import process. fields are taken from ColumnFamilyStoreMBean#importNewSSTables | N | false |
import.keepLevel | N | false | |
import.noVerify | N | false | |
import.noVerifyTokens | N | false | |
import.noInvalidateCaches | N | false | |
import.quick | if true, noVerifyTokens, noInvalidateCaches and noVerify will be set to true automatically | N | false |
import.extendedVerify | N | false | |
import.keepRepaired | N | false | |
resolveHostIdFromTopology | if set to true, host id of node to restore will be resolved from remote topology file located in a bucket by translating it from provided nodeId of storageLocation field | N | false |
insecure | Relevant during upload to S3-like bucket only. If true, communication is done via HTTP instead of HTTPS. | N | false |
skipBucketVerification | Do not check the existence of a bucket. | N | false |
retry | Retry configuration for restore procedure | N | |
retry.enabled | Enable or disable retry mechanism on failure | N | false |
retry.interval | Time gap between retries, linear strategy will have always this gap constant, exponential strategy will make the gap bigger exponentially (power of 2) on each attempt | N | |
retry.strategy | Strategy how retry should be driven, might be either 'LINEAR' or 'EXPONENTIAL' | N | |
retry.maxAttempts | Number of repetitions of an upload / download operation in case it fails before giving up completely. | N | |
rename | Map of key and values where keys and values are in format "keyspace.table", if key is "ks1.tb1" and value is "ks1.tb2", it means that upon restore, table ks1.tb1 will be restored into table ks1.tb2. | N | |
schemaVersion | version of schema we want to restore from | N | |
exactSchemaVersion | flag saying if we indeed want a schema version of a running node match with schema version a snapshot is taken on | N | false |
See icarus/esop documentation for more information on the fields as most of them are passed directly to icarus.