-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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: missing fields in return of DescribeTable #5026
Comments
@nyh I do see
On the Alternator create table response |
@tzach reported to the mailing list a case where the dynamodb-admin is an open-source node base UI project for DynamoDB.
|
One of the fields still missing in DescribeTable's response (Refs #5026) was the table's schema - KeySchema and AttributeDefinitions. This patch adds this missing feature, and enables the previously-xfailing test test_describe_table_schema. A complication of this patch is that in a table with secondary indexes, we need to return not just the base table's schema, but also the indexes' schema. The existing tests did not cover that feature, so we add here two more tests in test_gsi.py for that. One of these secondary-index schema tests, test_gsi_2_describe_table_schema, still fails, because it outputs a range-key which Scylla added to a view because of its own implementation needs, but wasn't in the user's definition of the GSI. I opened a separate issue #5320 for that. Signed-off-by: Nadav Har'El <nyh@scylladb.com>
One of the fields still missing in DescribeTable's response (Refs #5026) was the table's schema - KeySchema and AttributeDefinitions. This patch adds this missing feature, and enables the previously-xfailing test test_describe_table_schema. A complication of this patch is that in a table with secondary indexes, we need to return not just the base table's schema, but also the indexes' schema. The existing tests did not cover that feature, so we add here two more tests in test_gsi.py for that. One of these secondary-index schema tests, test_gsi_2_describe_table_schema, still fails, because it outputs a range-key which Scylla added to a view because of its own implementation needs, but wasn't in the user's definition of the GSI. I opened a separate issue #5320 for that. Signed-off-by: Nadav Har'El <nyh@scylladb.com>
@nyh, I've encountered a real example that 6672059 is actually helps with I was using scylla 3.2.0, hence didn't had that. I guess I should use the latest docker for my this specific experiment |
The ARN in the response was also already fixed, in commit 8c17b5a This issue is becoming a mess, it's hard to tell what is still missing. I should split it to separate items. |
Created issue #7550 for
|
DescribeTable should return a UUID "TableId" in its reponse. We alread had it for CreateTable, and now this patch adds it to DescribeTable. The test for this feature is no longer xfail. Moreover, I improved the test to not only check that the TableId field is present - it should also match the documented regular expression (the standard representation of a UUID). Refs #5026 Signed-off-by: Nadav Har'El <nyh@scylladb.com> Message-Id: <20201104114234.363046-1-nyh@scylladb.com>
We have individual issues about all remaining missing fields:
So closing this issue. |
The
DescribeTable
operation returns only a subset of the fields it's supposed to return. While this is enough for many use cases - which only useDescribeTable
to tell when creating a table actually finished - it might not be enough in different use cases.What is missing - with xfailing tests for each already in
alternator-test/test_describe_table.py
:KeySchema
,AttributeDefinitions
(seetest_describe_table_schema
).ItemCount
(seetest_describe_table_item_count
).TableSizeBytes
(seetest_describe_table_size
).ProvisionedThroughput
(seetest_describe_table_provisioned_throughput
).ARN
(seetest_describe_table_arn
)TableId
(seetest_describe_table_id
)Also
CreationDateTime
is returned incorrectly (see separate issue #5013).Also
BillingModeSummary
we return is always the same thing (PAY_PER_REQUEST
) regardless of what the user chose when creating the table. This is often good enough, but we should reconsider this.Moreover, when there are indexes in a table (GSI or LSI), we only provide partial information for those too - see xfailing test
test_gsi_describe
(we should probably have a similar test for LSI as well).The
DeleteTable
operation returns the return type asDescribeTable
, so maybe should return additional values as well.The text was updated successfully, but these errors were encountered: