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
alternator: maybe support StreamSpecification: null #5796
Comments
I'm having trouble reproducing this in boto3 in Python, trying to pass StreamSpecification=None doesn't pass boto3's internal checks:
If I try to pass StreamSpecification={}, DynamoDB doesn't allow this either. |
I just sent a patch titled "Alternator: allow CreateTable with streams explicitly turned off" to the mailing list, which should hopefully fix this issue (if you can, please test it). |
We use another library, https://github.com/HENNGE/aiodynamo which is notably faster :) |
Nice! I guess it works for you after the fix?
Can you please share performance numbers, I see there is a performance
section in the docs but no actual results.
…On Tue, Mar 31, 2020 at 6:32 PM Dima Tisnek ***@***.***> wrote:
I'm having trouble reproducing this in boto3 in Python, trying to pass
StreamSpecification=None doesn't pass boto3's internal checks:
E ParamValidationError: Parameter validation failed:
E Invalid type for parameter StreamSpecification, value: None, type: <type 'NoneType'>, valid types: <type 'dict'>
If I try to pass StreamSpecification={}, DynamoDB doesn't allow this
either.
Anyway, I'll prepare a patch for you to test, and test what I can in the
boto3-based tests.
We use another library, https://github.com/HENNGE/aiodynamo which is
notably faster :)
The divergence from boto* was fixed there too, just in case.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#5796 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AANHURNFFET7ZBNRKQWBNX3RKKKRHANCNFSM4KTSX6QQ>
.
|
Some results can be found in this comment, they were generated with the code found here. TL;DR: For query/scan (especially of many items), aiodynamo is about 2x faster than boto based libraries. |
Already in 4.0, not backporting to 3.3. |
I'm testing out scylladb+alternator.
I've figured to swap
dynalite
withscylla
in our unit tests first.I'm hitting this error:
https://github.com/scylladb/scylla/blob/a8a4e584ec3332067b6b9e1756ba1bf2392e1424/alternator/executor.cc#L807-L809
I've tracked it down to some library in our stack passing
None
/null
to theStreamSpecification
when creating a table.The intention is to use a default, i.e. same as if the
StreamSpecification
was not there at all.It seems that AWS SaaS dynamodb doesn't make a distinction.
dynamodb-local doesn't appear to make a distinction.
dynalite doesn't care.
Maybe Scylla should also ignore
StreamSpecification: null
Installation details
Scylla version (or git commit hash): 3.3.rc1-0.20200209.0d0c1d43188
Cluster size: 🤷♂️
OS (RHEL/CentOS/Ubuntu/AWS AMI): Docker
scylladb/scylla
The text was updated successfully, but these errors were encountered: