Open donotpush opened 1 month ago
@donotpush I cannot imagine this being the case, but the IAM user that is being used does have the necessary dynamodb permissions granted right?
@donotpush I cannot imagine this being the case, but the IAM user that is being used does have the necessary dynamodb permissions granted right?
@rtyler, thanks for looking into this. It’s a strange issue—it doesn’t happen in all environments, and the error message doesn’t provide much insight.
My AWS credentials have admin-level permissions, and the problem is easy to reproduce. I’ve tried it in several scenarios:
Regardless, the error message isn’t helpful. It took me 4 hours to figure out what was wrong. It’s also suspicious that everything works fine with version 0.19.2.
I’m running this locally on an Apple M2 (ARM), though I doubt that’s related. If you can reproduce the issue with the example I provided, it would be very helpful.
Locally with Docker: fails (only using credentials)
Can you expand a little bit on what this means? Does this mean that access keys and secrets are set in storage_options
or in the environment? I'm having trouble understanding how this case differs from the first scenario you described :thinking:
I am hoping this might be a case of mismatched key names which I recently fixed in #2931
Locally with Docker: fails (only using credentials)
Can you expand a little bit on what this means? Does this mean that access keys and secrets are set in
storage_options
or in the environment? I'm having trouble understanding how this case differs from the first scenario you described 🤔I am hoping this might be a case of mismatched key names which I recently fixed in #2931
The first scenario is the same code test.py
but without running on docker, and without environment variables. If you follow the steps from "How to Reproduce" in the issues description, you should get an error when running on docker.
@rtyler thanks for looking at it, it will be great to get a confirmation that you also get a problem whe running on docker. I tried multiple things, my conclusion is that something might is wrong in version 0.20.1
:unamused: so I tried the exact steps with the Dockerfile
and have still not been able to reproduce the issue. I'm curious if you still see the issue? If so, what region?
The IAM keys I used had the AdministratorAccess
IAM policy added. Perhaps there's a permission missing :thinking:
Thanks for testing it out! If it works on your end, the issue is likely specific to my local machine. I’ll try reproducing it on another laptop, as I was currently running it on an M2 chip.
Bug Report
Environment
Delta-rs version: 0.20.1
Environment: Docker
Description
Issue: Fails to write data to AWS S3 using DynamoDB locking mechanism in version 0.20.1, but works in version 0.19.2.
Error Messages
First Execution Failure (table does not exists):
Subsequent Execution Failure (after it worked once, table already exists):
How to Reproduce
Dockerfile:
test.py:
Run the following commands:
If you uncomment line 8 in the Dockerfile and then execute docker build and docker run again, you will see that it works correctly with version 0.19.2
Reference: https://delta-io.github.io/delta-rs/integrations/object-storage/s3/