Bug 1002349 - Memory leak in ksession when used Spring Integration + jBPM
Summary: Memory leak in ksession when used Spring Integration + jBPM
Keywords:
Status: VERIFIED
Alias: None
Product: JBoss Enterprise BRMS Platform 5
Classification: JBoss
Component: jBPM 5
Version: BRMS 5.3.1
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: GA
: ---
Assignee: Kris Verlaenen
QA Contact: Radovan Synek
URL:
Whiteboard:
Depends On:
Blocks: 1022758
TreeView+ depends on / blocked
 
Reported: 2013-08-29 01:06 UTC by Alessandro Lazarotti
Modified: 2020-04-27 01:16 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JBPM-3964 0 Major Resolved Process instances in Spring should be loaded in commands-scoped context 2019-09-18 23:34:33 UTC

Description Alessandro Lazarotti 2013-08-29 01:06:46 UTC
Description of problem:

When a ksession is not disposed between multiple invocations (like by the strategy "one or pull of ksessions per cluster member") together with BRMS Spring integration, the memory usage keep growing after each interaction with the process and some times the exception StaleObjectStateException could occur even without concurrent access to the process.

Process instances in Spring are loaded using the application context, not the command context. This can cause OptimisticLockingExceptions if the process instance was modified elsewhere, as this context is not cleared in between invocations.
Using the command-scoped context will make sure that process instance changes between invocations are picked up at the beginning and don't cause a commit exception at the end.

It is the product 5.3 BZ for the community Jira https://issues.jboss.org/browse/JBPM-3964

Comment 1 Radovan Synek 2014-02-13 17:56:53 UTC
Verified with BRMS-5.3.1-P05 that:

1. multiple invocations of single ksession does not increase memory usage.
2. using 2 nodes with the reproducer application attached to corresponding support case and following the reproducing steps does not produce any transaction related exceptions.


Note You need to log in before you can comment on or make changes to this bug.