rtyler
05/27/2023, 10:14 PMWill Jones
05/27/2023, 11:08 PMdelta-incubator/dynamodb-lock
• pub trait LockingObjectStore
lives in delta-rs
• dynamodb_lock is used to implement LockingObjectStore
for S3 in delta-rs
?rtyler
05/27/2023, 11:11 PMWill Jones
05/27/2023, 11:17 PMrtyler
05/28/2023, 6:26 AMRobert
05/28/2023, 6:36 AMLocakCLient
trait? Then the dynamodb-lock-rs repo would implement that for dynamo and there would be a new repo for the ongoing posgres client?aws/heckpoint
from the delta-rs repo?rtyler
05/28/2023, 6:55 AMLockingObjectStore
and that repo could contain feature gated locking implementations which would pull in dynamodb_lock, sqlx, etc I'm not sure if the LockClient
is a useful abstraction tbh if we have LockingObjectStoreRobert
05/28/2023, 7:04 AMrtyler
05/28/2023, 7:07 AMRobert
05/28/2023, 7:08 AMJohn Darrington
05/28/2023, 2:56 PMRobert
05/28/2023, 3:04 PMJohn Darrington
05/28/2023, 3:08 PMRobert
05/28/2023, 3:15 PMLockedObjectStore
in that crate, so a name along those lines would be great 🙂 . The first implementation would then be the postgres backed one... As this would also pull in object_store, which by now exposes AWS credentials, I hope to get that rusoto-free some time ...John Darrington
05/28/2023, 3:18 PMRobert
05/28/2023, 3:19 PMJohn Darrington
05/28/2023, 3:20 PMRobert
05/28/2023, 3:21 PMJohn Darrington
05/28/2023, 3:23 PMRobert
05/28/2023, 3:25 PMJohn Darrington
05/28/2023, 3:25 PMRobert
05/28/2023, 3:28 PMJohn Darrington
05/28/2023, 3:28 PMRobert
05/28/2023, 3:29 PMJohn Darrington
05/28/2023, 3:29 PMRobert
05/28/2023, 3:29 PMJohn Darrington
05/28/2023, 3:35 PMRobert
05/28/2023, 3:36 PMJohn Darrington
05/28/2023, 3:36 PMRobert
05/28/2023, 3:38 PMJohn Darrington
05/28/2023, 3:38 PMRobert
05/28/2023, 3:39 PMJohn Darrington
05/28/2023, 3:40 PMRobert
05/28/2023, 3:42 PMJohn Darrington
05/28/2023, 3:43 PMshingo
05/28/2023, 3:47 PMJohn Darrington
05/28/2023, 3:51 PMJohn Darrington
05/28/2023, 5:08 PMrtyler
05/28/2023, 5:14 PMJohn Darrington
05/28/2023, 5:18 PMlocked-object-store
(or should we name it distributed-lock
?) as it's own thing with Postgres being the first backer which will also live in the incubatorrtyler
05/28/2023, 5:26 PMJohn Darrington
05/28/2023, 5:27 PMrtyler
05/28/2023, 5:28 PMJohn Darrington
05/28/2023, 5:29 PMLockClient
then I can hold transaction open with a SELECT FOR UPDATE
on a given row for as long as the lock is needed, `release`ing the lock would cause an update and the transaction closing would free up the row for another SELECT FOR UPDATE
- my gut says interior mutability is probably fine if what we gain is the use of an existing lock system vs. rolling our own completely with record information.