buoyant-data/oxbow

Terraform configuration outdated, fail to acquire lock

Closed this issue · 1 comments

Hi, it seems that at some point in the release of different delta-rs versions, the environment variable for configuring table name changed from DYNAMO_LOCK_TABLE_NAME to DELTA_DYNAMO_TABLE_NAME. Additionally, the setup for DynamoDB has changed to include fileName as the range key and tablePath as the hash key (rather than just key as the hash key). See: delta-io/delta-rs#1091

After making these changes, I get this error in the oxbow lambda:
thread 'main' panicked at crates/oxbow/src/lock.rs:56:10:
Failed to acquire a lock: GetItemError(Validation("The provided key element does not match the schema"))

Assuming this is happening because the range key is missing, as it was not part of the older schema

The terraform is certainly out-dated 🙈 . oxbow actually still requires a lock in order to ensure that no two lambdas attempt to create a table concurrently. I will clear this up in the README and some code changes shortly