-
Notifications
You must be signed in to change notification settings - Fork 42
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
Sync with upstream 3.28.0 #364
base: master
Are you sure you want to change the base?
Sync with upstream 3.28.0 #364
Conversation
76e1a2f
to
8cc41a4
Compare
81b3b33
to
e344b51
Compare
@@ -56,6 +56,9 @@ Contents | |||
:doc:`scylla-cloud-serverless` | |||
Connect to ScyllaDB Cloud Serverless | |||
|
|||
:doc:`column-encryption` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should consider if we want to support this feature or not
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not, it is completely client-side feature
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
more so, i think it makes sense to have an epic to bring it into other drivers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
exactly that, it's not a feature we planned nor tested.
if we do plan and test, that's great, I would document it and "promate" it, before that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is being tested at tests/integration/standard/column_encryption/test_policies.py
and I don't think there is anything that could trigger scylla-specific issue in this code, it encrypts original content, and serialize it to the blob and does reverse on unserialization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, let's invoke @roydahan and @mykaul. For context:
We are syncing python-driver with the upstream and in 3.27.0
datastax released client-isde column encryption, so we are getting it in our driver.
Core idea of this feature is to seamlessly encrypt and decrypt a blob
on client side.
Along side with this feature they have integration tests with it which we are running.
My proposal is to include this feature into our documentation right away, reasoning is:
- It is entierly client-side feature, and chance of getting scylla-specific bug is close to 0.
- It is tested at integration suite.
- Performance degradation is expected and stays at users discretion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we've seen this feature.
Let's start with an Epic for "all drivers", there we can discuss and decide if we want it and if needed for all drivers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issue is here, so, should we remove it from the documentation for now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should write it as experimental for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have temporary disabled it and created an issue to take a look into it.
969c93b
to
5357c34
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@Lorak-mmk , @roydahan , is it good to go? |
I'm reviewing right now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commits that add column encryption policy make a lot of changes.
I think it would be better to drop those commits altogether until we decide if and how we want to implement the encryption - adding code later is much easier than removing it.
After reviewing this I remember why I dislike current process so much...
docs/.nav
Outdated
column_encryption | ||
geo_types | ||
graph | ||
classic_graph | ||
graph_fluent | ||
CHANGELOG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think wee should either remove changelog from here, or start creating our own changelog and put it here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also should remove graph and geo whatever, scylla doesn't support those.
And we cleared the references to them from docs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
.travis.yml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need this file. Could you remove it? Or even better - drop the commit that adds it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are couple more files we would like to drop, I have included them into single commit and added them to .gitignore
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One PR should focus on one thing: let's only merge upstream changes in this one.
I actually started working on a PR that removes unnecessary files and updates some other legacy stuff.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, I though it is going to be small thing, but it had grown very quickly, moved out to a separate PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As of now, let's leave it in, and address all of the removals in one blow.
setup.py
Outdated
dependencies = [ | ||
'geomet>=0.1,<0.3', | ||
'pyyaml > 5.0', | ||
'six >=1.9', | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are adding six to dependencies here, why? Myself and upstream worked hard to remove it, and I don't see it used anywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep in mind it's an old version we are syncing, before your changes were merged
But yes we should drop it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed
cassandra/cqltypes.py
Outdated
try: | ||
return parse_casstype_args(casstype) | ||
except (ValueError, AssertionError, IndexError) as e: | ||
log.debug("Exception in parse_casstype_args: %s" % e) | ||
raise ValueError("Don't know how to parse type string %r: %s" % (casstype, e)) | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the reason for adding this debug log?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was part of datastax#1161, removed.
unix_socket_path = getattr(h, "_unix_socket_path", None) | ||
if unix_socket_path: | ||
self._allowed_hosts_resolved.append(unix_socket_path) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand why this change is necessary or what it does. Please explain it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It creates dependancy cycle after cryptography PR.
docs/.nav
Outdated
column-encryption | ||
geo_types | ||
graph | ||
classic_graph | ||
graph_fluent | ||
CHANGELOG | ||
faq |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if my previous comment was saved or not, so I'll repeat it.
Linking upstream changelog in our docs will imo be confusing for our users.
We should either write our own changelog, or remove this from docs.
Given that this PR is about merging upstream, I think it should remove changelog from nav.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed
tox.ini
Outdated
@@ -1,5 +1,5 @@ | |||
[tox] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we are on a spree of dropping files, I don't think any of us are using this one, and it doesn't seem to support all the supported python versions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's merge updates first, and then drop files. I mentioned one in my review, because it is added in this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have created a separate PR for it.
ad15d4d
to
acbf507
Compare
CLE is highly integrated into cluster, session and even query, removing these commits will create unnecessary conflicts with any code done on top of it, also as bonus you are going to get a headache of merging them back and re-resolving same conflicts other way around when/if you decide to get this code in. |
* update RH nav order * add line break * add api
Added error handling blog reference.
This reverts commit 6894b02.
…ion-specific CLE policies (datastax#1165)
There was some seriouse issues in policy implementation in `3.27.0`. We want to inspect the feature before making it available.
acbf507
to
6ea0d65
Compare
Since we have already removed docs, I can't tell you that leaving code in creates way less conflicts and makes merging so much easier. |
it is a peace of #329 that updates master to
3.28.0