My Oracle Support Banner

Service Bus 12.2.1: Unexpected heap usage when posting large binary files with Chunk Streaming Mode (Doc ID 2154069.1)

Last updated on MAY 15, 2023

Applies to:

Oracle Service Bus - Version 12.2.1.0.0 to 12.2.1.0.0
Information in this document applies to any platform.

Symptoms

 The issue occurs when writing a large amount of binary data to the service with a POST method through Service Bus 12.2.1.

The binary data is streamed from the client through all OSB components to the servlet, but assigning the complete payload additionally to an object of type:
com.bea.wli.sb.util.ReusableDataSourceMemoryBuffer

This greatly increases the heap usage to a potentially problematic level.

When reading a large amount of binary data from the service with a GET method, the binary data is streamed from the servlet through all OSB components to the client without using any additional heap memory.
The POST method is expected to work in a similar fashion.

The following stack trace shows ReusableDataSourceMemoryBuffer.readUntil() is invoked to buffer the outbound request message in memory which is unnecessary in the pass-through case:

 

 

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.