oci-java-sdk
oci-java-sdk copied to clipboard
OCI Java SDK 2.66.0 Stream Uploads Buffer Data Unnecessarily and May Cause OutOfMemoryError
Upgrade to OCI Java SDK version 2.72.0
if you are currently using 2.66.0
.
The OCI Java SDK version 2.66.0 contains a bug that causes it to buffer streams unnecessarily. For example, if you upload a stream of size 1 GiB, this will cause the OCI Java SDK to buffer an additional 1 GiB in the heap. This additional memory demand may cause an OutOfMemoryError
.
The latest safe version is 2.65.1
.
OCI Java SDK 3.x is not affected.
You are affected if:
- you use version
2.66.0
- and you use the Apache Connector (which is the default connector in the OCI Java SDK)
- and you upload streams (e.g. using Object Storage's
putObject
oruploadPart
operations)
Fix:
- Upgrade to version
2.72.0
: https://github.com/oracle/oci-java-sdk/releases/tag/v2.72.0
Other possible work-arounds (not recommended anymore):
- downgrade to
2.65.1
- disable the Apache Connector and use the Jersey Default
HttpUrlConnectorProvider
instead (see https://github.com/oracle/oci-java-sdk/blob/v2.65.1/ApacheConnector-README.md )