Skip to content

Add sqs source retry for connection reset errors #215

Open
@colmsnowplow

Description

Currently, we return an error and shut down if the sqs client returns any error.

In the case of a connection reset error, the behaviour of the sdks will be to treat it as non-retryable: aws/aws-sdk-go#3027, aws/aws-sdk-go#3971.

As I understand it, this behaviour is general to all AWS sdks, and this error is considered non-retryable because the requests in question may not be idempotent.

In our case, for the sqs source the request will always be idempotent, and we should retry. We can achieve this (as the AWS sdk maintainers advise on the above isssues) by adding a retryer.

As far as I can see, this bug shouldn't have much of an impact on the app in production as we currently use it - when we hit it we will simply return an error, crash, and reboot without data loss.

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions