-
Notifications
You must be signed in to change notification settings - Fork 3k
AWS: Changes to DynamoDb Catalog to support ACL on Namespace Entries #6862
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
Conversation
3b1d88f to
08a8fee
Compare
|
Hi @jackye1995 |
|
|
||
| public static final String DYNAMODB_V2_SCHEMA_DEFAULT_TABLE_NAME = "iceberg_v2"; | ||
|
|
||
| public static final String DYNAMODB_CATALOG_SCHEMA_FORMAT = |
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 we can use a simpler name, just dynamodb.schema-version should work? Any reason to create sublevels?
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.
Idea was to indicate that this property is related to DynamoDb catalog, essentially separate out/differentiate from DynamoDb lock manager.
Let me know If I should follow current naming convention. Also, what about dynamodb.catalog.schema-version instead of existing dynamodb.catalog.schema.format-version
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.
modified the config property to dynamodb.catalog.schema-version. let me know if this looks good
| public static final String DYNAMODB_CATALOG_SCHEMA_FORMAT = | ||
| "dynamodb.catalog.schema.format-version"; | ||
|
|
||
| public static final DynamoDbSchemaVersion DYNAMODB_DEFAULT_SCHEMA_VERSION = |
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 just use int for this?
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, will use int for 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.
changed version to use ints
aws/src/main/java/org/apache/iceberg/aws/dynamodb/DynamoDbCatalog.java
Outdated
Show resolved
Hide resolved
c22ceaf to
e24f7e0
Compare
|
@jackye1995 |
jackye1995
left a comment
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.
Mostly looks good to me, just a nit comment
|
|
||
| public static final String DYNAMODB_TABLE_NAME_DEFAULT = "iceberg"; | ||
|
|
||
| public static final String DYNAMODB_V2_SCHEMA_DEFAULT_TABLE_NAME = "iceberg_v2"; |
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.
nit: can we name it DYNAMODB_TABLE_NAME_DEFAULT_V2? And the default iceberg_v2 is a bit confusing, can we use iceberg_dynamodb_v2?
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.
Updated default name
e24f7e0 to
ae849ad
Compare
ae849ad to
60f3d3f
Compare
|
|
||
| public static final String DYNAMODB_CATALOG_SCHEMA_VERSION = "dynamodb.catalog.schema-version"; | ||
|
|
||
| public static final int DYNAMODB_DEFAULT_SCHEMA_VERSION = 1; |
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 am thinking if we should just make it default to v2, since there is not much users with prod dependencies of the Dynamo catalog as of now. Any thoughts? @munendrasn @amogh-jahagirdar
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.
AFAIK, Until now, some of the bugs encountered in DynamoDbCatalog might not surface to user depending on how users might be using the Catalog
- listTables is uncommon operation, and only at higher cardinality the bug would surface
- default warehouse bug too might not surface if user always provides explicit location to table or warehouse path is not set in the namespace
Probably, there might be users with dependencies on DynamoDbCatalog. So, we would need to consider the impact for those users.
Still, it might be okay to make v2 as default if we call this change out in the release as major change - just a cautionary note
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.
Cool, let's keep it in v1 then, and see how this goes, and flip the default after 1-2 releases.
|
@amogh-jahagirdar do you have any additional comment? |
|
@jackye1995 @amogh-jahagirdar Please review, I have rebased the changes with latest main/master branch |
|
@jackye1995 @amogh-jahagirdar Please let me know if this is still required with recent conversations around catalog. If not, I think we can close this |
Fixes #6763
dynamodb.catalog.schema.format-versionproperty specifies the schema version. Default value isv1@jackye1995 FYI