Skip to content

[BUG] Blocking behavior in AWSV4SignerAsyncAuth #410

@dacevedo12

Description

@dacevedo12

What is the bug?

Yesterday's AWS us-east-1 outage revealed that botocore talks to STS using requests, and retries them using a backoff with time.sleep, which are both blocking functions and will cause performance degradation as they hold the event-loop hostage.

In this line: sig_v4_auth.add_auth(aws_request) https://github.com/opensearch-project/opensearch-py/blob/main/opensearchpy/helpers/asyncsigner.py#L54

How can one reproduce the bug?

Try calling a search operation using AWSV4SignerAsyncAuth while simulating poor network conditions to trigger the retry with backoff mechanism in botocore

What is the expected behavior?

It should not block the event-loop

What is your host/environment?

Not relevant

Do you have any screenshots?

image

Do you have any additional context?

Three possible solution proposals:

Metadata

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