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.0Information 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 |