Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The `with threading.Lock()` statement does not actually lock anything because we're creating a new lock each time. The fix here is to use an instance level lock. We need to ensure that the signer is not called in multiple threads as it is _not_ thread safe. This bug surfaces via S3 signature version 4 multithreaded uploads. If you run "aws s3 cp/sync" in eu-central-1 or cn-north-1, you'll see signature errors because the timestamp will be off be one or more seconds. Given this is a race condition, you'll need a fairly large file (1GB to be safe) to see this issue.
- Loading branch information