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
scylla-sstable ignores scylla.yaml unless it is explicitely provided #16132
Comments
10 tasks
denesb
added a commit
to denesb/scylla
that referenced
this issue
Nov 24, 2023
denesb
added a commit
to denesb/scylla
that referenced
this issue
Nov 24, 2023
Currently, scylla.yaml is read conditionally, if either the user provided `--scylla-yaml-file` command line parameter, or if deducing the data dir location from the sstable path failed. We want the scylla.yaml file to be always read, so that when working with encrypted file (enterprise), scylla-sstable can pick up the configuration for the encryption. This patch makes scylla-sstable always attempt to read the scylla-yaml file, whether the user provided a location for it or not. When not, the default location is used (also considering the `SCYLLA_CONF` and `SCYLLA_HOME` environment variables. Failing to find the scylla.yaml file is not considered an error. The rational is that the user will discover this if they attempt to do an operation that requires this anyway. There is a debug-level log about whether it was successfully read or not. Fixes: scylladb#16132
fruch
added a commit
to fruch/scylla-cluster-tests
that referenced
this issue
Dec 20, 2023
since there a fix not yet backported about the order that `scylla sstable dumps` is looking for the schema, we need to pass it the scylla.yaml for it to be able to read EaR sstables Ref: scylladb/scylla-enterprise#3702 Ref: scylladb/scylladb#16132
Merged
8 tasks
fruch
added a commit
to fruch/scylla-cluster-tests
that referenced
this issue
Dec 21, 2023
since there a fix not yet backported about the order that `scylla sstable dumps` is looking for the schema, we need to pass it the scylla.yaml for it to be able to read EaR sstables Ref: scylladb/scylla-enterprise#3702 Ref: scylladb/scylladb#16132
fruch
added a commit
to scylladb/scylla-cluster-tests
that referenced
this issue
Dec 24, 2023
since there a fix not yet backported about the order that `scylla sstable dumps` is looking for the schema, we need to pass it the scylla.yaml for it to be able to read EaR sstables Ref: scylladb/scylla-enterprise#3702 Ref: scylladb/scylladb#16132
fruch
added a commit
to scylladb/scylla-cluster-tests
that referenced
this issue
Dec 24, 2023
since there a fix not yet backported about the order that `scylla sstable dumps` is looking for the schema, we need to pass it the scylla.yaml for it to be able to read EaR sstables Ref: scylladb/scylla-enterprise#3702 Ref: scylladb/scylladb#16132 (cherry picked from commit 5aad817)
mykaul
added
the
backport/5.4
Issues that should be backported to 5.4 branch once they'll be fixed
label
Jan 4, 2024
There is no need to backport this to any OSS release, only enterprise is affected by this patch. |
denesb
removed
Backport candidate
backport/5.4
Issues that should be backported to 5.4 branch once they'll be fixed
labels
Jan 4, 2024
@fruch does it mean we can use scylla sstable instead of sstable dump in boyk tests? |
this is just one of a list of issues that are tracked in: |
dgarcia360
pushed a commit
to dgarcia360/scylla
that referenced
this issue
Apr 30, 2024
Currently, scylla.yaml is read conditionally, if either the user provided `--scylla-yaml-file` command line parameter, or if deducing the data dir location from the sstable path failed. We want the scylla.yaml file to be always read, so that when working with encrypted file (enterprise), scylla-sstable can pick up the configuration for the encryption. This patch makes scylla-sstable always attempt to read the scylla-yaml file, whether the user provided a location for it or not. When not, the default location is used (also considering the `SCYLLA_CONF` and `SCYLLA_HOME` environment variables. Failing to find the scylla.yaml file is not considered an error. The rational is that the user will discover this if they attempt to do an operation that requires this anyway. There is a debug-level log about whether it was successfully read or not. Fixes: scylladb#16132 Closes scylladb#16174
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
scylla-sstable tries multiple things to obtain the schema of the sstable(s) it is provided. The order of things it tries is as follows:
./schema.cql
scylla-sstable will stop immediately if one of these is successful. This is fine for the most path, but it provides a somewhat clunky UX on enterprise, when EAR is used. I won't go into much detail, given that this is an enterprise feature, the point is that for encrypted sstables to be read,
scylla.yaml
has to be processed. To make the tool work OOTB with EAR, it should always attempt to readscylla.yaml
. To minimize the difference between the enterprise and open-source code-base, this change should be made in open-source too. It is also a forward-looking change, in case OSS will ever require the configuration read, to correctly process sstables.The text was updated successfully, but these errors were encountered: