Service Bus 12.2.1: Unexpected heap usage when posting large binary files with Chunk Streaming Mode
Last updated on OCTOBER 05, 2017
Applies to:Oracle Service Bus - Version 22.214.171.124.0 to 126.96.36.199.0
Information in this document applies to any platform.
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:
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:
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms