AWS: Use Glue optimistic locking while updating table#4166
Conversation
7fb0e65 to
eff9126
Compare
eff9126 to
ae1c9d4
Compare
jackye1995
left a comment
There was a problem hiding this comment.
Thanks, we are finally get this long-waiting feature in!
I think we need to do a bit more. Now we don't really need a lock manager if lock-impl is not set. I think using a in-memory lock is also not needed. Yes it adds some guard against commits happening in the same process, but it's also consuming daemon threads to run heartbeats and these can go wrong. The Glue service is scalable enough to handle concurrent commits at the service level so I think it's better if we implement a no-op lock manager for GlueCatalog and use that instead of the default in-memory lock manager if user did not specify any lock configuration. Any thoughts about this?
True, but since this is using reflection and may not actually call |
Yes, we shouldn't require any lock managers unless we encounter the noop scenario. We can fallback to in-memory lock manager in that case.
Yes, I agree. |
jackye1995
left a comment
There was a problem hiding this comment.
thanks for the work! @rajarshisarkar , and thanks @rdblue for the review
|
As a follow-up, can we deprecate and eventually remove lock manager for Glue, and rely on version IDs? |
|
@findepi, I think the problem is that we don't know that older clients have been updated to use the new commit logic in Glue. I would continue to respect any locking configuration if the user has set it up. |
|
Currently we have a fragmented landscape, where users may use different locking mechanisms. This can lead to data loss when different apps use different locking mechanisms, providing false sense of security/ |
Use Glue optimistic locking while updating table.
Retry logs in case of concurrent updates: