Skip to content

Blocking Call on DigestAlgorithm #6590

@jonathannaguin

Description

@jonathannaguin

Describe the bug

Hello,

While using BlockHound to detect blocking calls on our service, we found out a blocking call on https://github.com/aws/aws-sdk-java-v2/blob/master/core/checksums/src/main/java/software/amazon/awssdk/checksums/internal/DigestAlgorithm.java#L55 . It seems this is related to a recent change in this class (c137348) that introduced a LinkedBlockingDeque.

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

The Async version of the SDK shouldn't block threads.

Current Behavior

Due to the internal code of LinkedBlockingDeque, the modified DigestAlgorithm blocks.

Reproduction Steps

Any HTTP request will trigger this issue, example the Async SDK for DynamoDB (GetItem).

Possible Solution

Use ConcurrentLinkedDeque or ThreadLocal perhaps.

Additional Information/Context

No response

AWS Java SDK version used

2.33.11

JDK version used

21

Operating System and version

Mac

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue is a bug.needs-reviewThis issue or PR needs review from the team.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions