Bug 1056214

Summary: EJB invocation performance issues due to high allocation counts of useless strings
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: David M. Lloyd <david.lloyd>
Component: EJBAssignee: David M. Lloyd <david.lloyd>
Status: CLOSED CURRENTRELEASE QA Contact: Jan Martiska <jmartisk>
Severity: medium Docs Contact: Russell Dickenson <rdickens>
Priority: medium    
Version: 6.1.1, 6.2.0, 6.2.1CC: kkhan, sgilda, smumford, wreicher
Target Milestone: DR0   
Target Release: EAP 6.3.0   
Hardware: All   
OS: All   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
A performance issue has been addressed in this release of JBoss EAP 6. The issue was caused by `StatefulComponentInstanceInterceptor` which performed a small concatenation in a debug log statement for every invocation. The subsequent extra allocations could cause increased Garbage Collection activity during stateful EJB invocation, leading to higher per-invocation processing overhead. This release of the product has incorporated an upstream patch which resolves this issue and per-invocation overhead is substantially decreased.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-28 15:25:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description David M. Lloyd 2014-01-21 17:14:30 UTC
Description of problem:

Due to a minor bug in the StatefulComponentInstanceInterceptor, a string concatenation is performed for every invocation which causes a substantial amount of GC churn.  The fix is simple and low-risk and has been thoroughly tested upstream.

Version-Release number of selected component (if applicable):

All versions.

How reproducible:


Steps to Reproduce:
1. Process lots of invocations in a tight loop
2. Observe high allocation counts and GC activity
3. ~ fin ~

Actual results:

Useless string construction

Expected results:

No string construction unless log level is set to DEBUG or higher

Additional info:

The upstream version of this fix is here: https://github.com/wildfly/wildfly/commit/a6727c715a9d04c6991

Comment 2 Kabir Khan 2014-01-21 23:09:33 UTC
qa-acked myself since I wanted to clear out as many as possible before going to bed, and the fix is trivial

Comment 3 Jan Martiska 2014-02-17 10:59:03 UTC
Verified in 6.3.0.DR0.

Comment 4 sgilda 2014-05-12 19:35:56 UTC
Changed <literal></literal> tags in Doc Text to ticks (`) to fix Bug 1096865