-
Notifications
You must be signed in to change notification settings - Fork 34
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
Add a switch to choose between Scylla and Rclone API for backup/restore #4163
Comments
I don't think we need to keep both options - as the user has nothing to select from. It is implementation detail that, given the option to select, just confuses. Having said that, if the same SM version needs to support both rclone and scylla - one solution could be to make it configurable. A better solution (IMO) would be to query scylla for its ability to backup and restore - and when it can't - fallback to rclone. No user setup at all. |
This will most likely be the case (cc: @karol-kokoszka @tzach)
Is there a better way for checking Scylla features than checking Scylla version (SM does not have access to Scylla swagger)? I agree in general - my only concern is that if there is a bug on SM or Scylla side regarding new backup/restore implementation, then it probably would be a good idea to add a safety switch allowing user to use Rclone. |
I am not familiar with defensive programming - finding solutions to problems that were not happened yet. |
To validate:
My 2c:
|
We still need to support older versions of Scylla (correct me if I'm wrong), what means that the RClone support for backups and restores stays in Scylla Manager code. Besides, for now, Scylla API covers just transferring SSTables from/to S3. Things like deduplication or creating the manifest file are not covered, what means that SM have to use RClone to do that still. I understand that Scylla Manager must do the validation step before proceeding with the backup/restore to just check if the Scylla API for it is available. |
Yes, by decision -
Sure. Fine with me. |
Should we allow user to decide whether backup/restore tasks should use Rclone or Scylla API?
Having a way of falling back to Rclone (without rolling back to previous SM release, which is not always possible) when some issues regarding Scylla API or its usage by SM are encountered makes sense.
It would also allow for easier testing of cross Rclone/Scylla backup/restore.
So I would say that we should add a switch to choose between those APIs, and that the Scylla API should be the default choice (when possible).
Such switch could be implemented as a new restore/backup flags or as a config field in
scylla-manager.yaml
file.I would say that it's easier for the user and the testing if we decide to go with the new flags.
The only drawback is that we are adding more and more flags to those commands, which might make them more difficult to configure for the users. On the other hand, in an ideal scenario, we don't expect users to use this flag at all. But if that's a case, maybe it's enough to just put it in the
scylla-manager.yaml
file, where it can still be configured on the really rare occasions, when it's needed?What do you think?
cc: @karol-kokoszka @VAveryanov8 @regevran
The text was updated successfully, but these errors were encountered: