oracle / oracle/oci-java-sdk

OCI Java SDK 2.66.0 Stream Uploads Buffer Data Unnecessarily and May Cause OutOfMemoryError

Open
#601 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

SDK
Dominant language
Java
Stars
243
Forks
171
Avg merge
30m
Merged PRs (30d)
4

Description

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 or uploadPart operations)

Fix:

Other possible work-arounds (not recommended anymore):

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with ApacheConnector-README.md and the Object Storage stream upload entry points named in the issue, including putObject and uploadPart. Confirm the behavior for OCI Java SDK 2.66.0 and define done as preventing unnecessary stream buffering without affecting the stated safe-version guidance.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.