Skip to content

Race condition in CircuitBreaker leading to NoSuchElementException #491

@rkumarpa

Description

@rkumarpa

We have fixed this issue in version 2.51.2. If you are using any OCI Java SDK version(s) >= 2.47.0 and < 2.51.2, we recommend you to update to version 2.51.2 or later. If you are not using any of the affected OCI Java SDK versions, you can ignore this issue.

If for some reason you are not able to update to a non-affected version at this time, another option is to disable and opt out of the SDK's default support for circuit breakers, in service clients that you use in your code and which have enabled circuit breakers by default (almost all service clients). However, our recommended option is not this, but rather to instead update to version 2.51.2 or later.


If you are using the OCI Java SDK at any version(s) >= 2.47.0 and < 2.51.2, then you may be affected by a bug in the SDK's circuit breaker.

Description

When using OCI Java SDK versions >= 2.47.0 and versions < 2.51.2, CircuitBreaker may fail with NoSuchElementException when trying to remove elements from historyQueue. If this exception is thrown, the connection from the connection pool is not released. This could potentially result in the SDK being unable to make additional requests, because all connections are blocked.

Affected Versions

To help prevent their use, all affected versions are marked pre-release with a label Do not use this version in the SDK's GitHub Releases.

Solution

Update to version 2.51.2 or later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    SDKIssue pertains to the SDK itself and not specific to any service

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions