Tuxedo JOLT Call Takes Too Much Time Processing Response Buffer Returned From Tuxedo Service As Response Buffer Size Is Increased (Doc ID 2007496.1)

Last updated on APRIL 10, 2017

Applies to:

Oracle Tuxedo - Version 12.1.3 and later
Information in this document applies to any platform.

Symptoms

Weblogic calls Tuxedo using a Tuxedo JOLT call to fetch a large file.
Currently, Weblogic makes multiple calls to a service in Tuxedo to fetch a file in batches of approximately 10k bytes.
Attempting to improve performance the buffer size was changed to 100k and 200k but this resulted in degradation of performance.

The transaction which takes an avg of 8 secs, with a 10k byte buffer (using multiple JOLT calls), is taking 40 secs and 60 secs with 100k and 200k buffer respectively.
After detailed investigation it was found that the maximum time is spent on Weblogic side while decoding the Tuxedo service output response.

From thread dumps the following stack appears to be the cause of the latency:

ExecuteThread: '58' for queue: 'weblogic.kernel.Default'" daemon prio=3
tid=0x037eb0b8 nid=0x7c runnable [0xa48dd000]
   java.lang.Thread.State: RUNNABLE
                at java.util.Arrays.copyOf(Arrays.java:2219)
                at java.util.Vector.grow(Vector.java:262)
                at java.util.Vector.ensureCapacityHelper(Vector.java:242)
                at java.util.Vector.addElement(Vector.java:616)
                - locked <0xb81052c8> (a java.util.Vector)
                at bea.jolt.VNode.add(JoltMessage.java:1507)
                at bea.jolt.JoltMessage.unserialize(JoltMessage.java:1336)
                - locked <0xb8110b00> (a bea.jolt.JoltMessage)

 

Changes

 Size of response message sent back by the service in Tuxedo is greatly increased.

Cause

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