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

Make it possible to restore schema into a different DC setting #4049

Open
Michal-Leszczynski opened this issue Sep 30, 2024 · 2 comments
Open
Assignees
Labels
enhancement New feature or request restore
Milestone

Comments

@Michal-Leszczynski
Copy link
Collaborator

As described in #4041 and #3525, starting from SM 3.3 and Scylla 6.0, SM restores schema by applying the output of DESC SCHEMA WITH INTERNALS. As DCs are a part of keyspace schema, it makes it impossible to restore schema into a cluster with different DCs - even though we are aiming to make restore work with any cluster topology.

So right now this is a documented limitation, but we should make it possible to restore schema into a different DC setting or make it easier for the user to modify just the DC part of keyspace schema.

cc: @karol-kokoszka @tzach @mikliapko

@karol-kokoszka
Copy link
Collaborator

See #4052 (comment)

mikliapko added a commit to mikliapko/scylla-cluster-tests that referenced this issue Dec 30, 2024
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049
mikliapko added a commit to mikliapko/scylla-cluster-tests that referenced this issue Jan 2, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.
mikliapko added a commit to mikliapko/scylla-cluster-tests that referenced this issue Jan 2, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049
mikliapko added a commit to mikliapko/scylla-cluster-tests that referenced this issue Jan 2, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.
mikliapko added a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049
mikliapko added a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.
mergify bot pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049

(cherry picked from commit b161890)
mergify bot pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049

(cherry picked from commit b161890)
mergify bot pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.

(cherry picked from commit 53fbf07)
mergify bot pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.

(cherry picked from commit 53fbf07)
mergify bot pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049

(cherry picked from commit b161890)
mergify bot pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.

(cherry picked from commit 53fbf07)
mikliapko added a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049

(cherry picked from commit b161890)
mikliapko added a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.

(cherry picked from commit 53fbf07)
mikliapko added a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049

(cherry picked from commit b161890)
mikliapko added a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.

(cherry picked from commit 53fbf07)
mikliapko added a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049

(cherry picked from commit b161890)
mikliapko added a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 7, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.

(cherry picked from commit 53fbf07)
fruch pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 8, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049

(cherry picked from commit b161890)
fruch pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 8, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.

(cherry picked from commit 53fbf07)
fruch pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 8, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049

(cherry picked from commit b161890)
fruch pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 8, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.

(cherry picked from commit 53fbf07)
fruch pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 8, 2025
According to comment (1), set ks strategy and rf is not needed if
restoring the schema within one DC.

It should be brought back after implementation of (2) which will
unblock schema restore into a different DC. For now, it's possible
to restore schema only within one DC.

Refs:
#1: scylladb/scylla-manager#4041
issuecomment-2565489699
#2: scylladb/scylla-manager#4049

(cherry picked from commit b161890)
fruch pushed a commit to scylladb/scylla-cluster-tests that referenced this issue Jan 8, 2025
disrupt_mgmt_restore doesn't support multiDC cluster configuration due
to the issues:
- scylladb/scylla-manager#3829
- scylladb/scylla-manager#4049

Thus, it should be skipped if both issues are opened and cluster
configuration is multiDC.

(cherry picked from commit 53fbf07)
@VAveryanov8
Copy link
Collaborator

We discussed this task with @karol-kokoszka and @Michal-Leszczynski and came to the following conclusions:

  • Scylla Manager should provide an API and CLI to read the CQL schema from the backup location.
  • For the 1-to-1 restore effort, Siren will use this API to read the schema, modify it by changing the DC names, and then apply it directly to the Scylla cluster.

Some additional details:

It would be beneficial to have a schema-reading API not only for 1-to-1 restores, but also for other use cases when the schema needs to be changed, e.g., migration to tablets.
It is easier for Siren to apply the schema on its own because there is no need to grant and revoke permissions for the Scylla Manager CQL user.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request restore
Projects
None yet
Development

No branches or pull requests

3 participants