aws-sdk-go: DynamoDB Intermittent InvalidSignatureException

Please fill out the sections below to help us address your issue.

Version of AWS SDK for Go?

1.19.28

Version of Go (go version)?

go1.12.1 darwin/amd64

What issue did you see?

We have an app that uses DynamoDB, along with github.com/samstradling/dynamodb-lock-client-golang v0.1.0, to perform locking. We attempt to PutItem as a way of acquiring a lock. If a given row is present we consider a particular action locked. Generally this works fine. However, along with seeing PutItem and RemoveItem calls work correctly, we see the following results:

AWSError - 
Code: InvalidSignatureException, 
Msg: "The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.", 
Err: "InvalidSignatureException: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
    status code: 400,
    request id: L98R14GVAPDPCT1FVNF2GJ97ERVV4KQNSO5AEMVJF66Q9ASUAAJG". 
Original Err: nil

Steps to reproduce

This issue only really occurs when running under higher load, say 10-15 reqs/second. If you follow through the code from https://github.com/samstradling/dynamodb-lock-client-golang/blob/master/main.go#L11 this is the code that we are hitting that will PutItem It does not happen on every request. It is somewhat intermittent

I have reviewed the aws-sdk-go code and that library code looking for InvalidSignatureException and I’ve not managed to find it so I’m not sure where to go next in tracking this down. Any help or pointers are greatly appreciated.

Unfortunately at this point I have no runnable example

Thanks, Nathan

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 17 (2 by maintainers)

Most upvoted comments

I had InvalidSignatureException errors intermittently and couldn’t figure out why cause more than 90% of requests are successfully processed. When my lambda bumped this error, it will repeat same errors for certain duration (say 5 minutes) and it’s back to normal.

In my case, upgrading to aws-go-sdk-v2 fixed my issue and I no longer see this error in the past 1 month.