Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Race condition in CircuitBreaker leading to NoSuchElementException #491

Open
rkumarpa opened this issue Mar 23, 2023 · 0 comments
Open

Race condition in CircuitBreaker leading to NoSuchElementException #491

rkumarpa opened this issue Mar 23, 2023 · 0 comments
Labels
SDK Issue pertains to the SDK itself and not specific to any service

Comments

@rkumarpa
Copy link
Contributor

rkumarpa commented Mar 23, 2023

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.

@rkumarpa rkumarpa added the SDK Issue pertains to the SDK itself and not specific to any service label Mar 23, 2023
@rkumarpa rkumarpa changed the title Race condition in CircuitBreaker leading to NoSuchElementException Race condition in CircuitBreaker leading to NoSuchElementException in OCI Java SDK Mar 23, 2023
@rkumarpa rkumarpa pinned this issue Mar 23, 2023
@jodoglevy jodoglevy changed the title Race condition in CircuitBreaker leading to NoSuchElementException in OCI Java SDK Race condition in CircuitBreaker leading to NoSuchElementException Mar 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SDK Issue pertains to the SDK itself and not specific to any service
Projects
None yet
Development

No branches or pull requests

1 participant