Bug 1241358 - SingleSessionCommandService Interceptor stack is lost when rollback
Summary: SingleSessionCommandService Interceptor stack is lost when rollback
Keywords:
Status: CLOSED EOL
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: jBPM Core
Version: 6.1.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ER1
: 6.2.0
Assignee: Alessandro Lazarotti
QA Contact: Karel Suta
URL:
Whiteboard:
Depends On:
Blocks: 1241756
TreeView+ depends on / blocked
 
Reported: 2015-07-09 06:22 UTC by Toshiya Kobayashi
Modified: 2020-03-27 20:07 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1241756 (view as bug list)
Environment:
Last Closed: 2020-03-27 20:07:04 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Toshiya Kobayashi 2015-07-09 06:22:42 UTC
Description of problem:

RuntimeManager adds OptimisticLockRetryInterceptor and TransactionLockInterceptor on top of SingleSessionCommandService$TransactionInterceptor on KieSession initialization.

But once a transaction is rolled back in later process execution, SingleSessionCommandService.commandService is overwritten by new TransactionInterceptor(kContext) in initExistingKnowledgeSession() hence the Interceptor stack is lost.

How reproducible:

Once a process execution transaction is rolled back, always reproducible. It could be serious in case of Singleton strategy because an application keeps using the ksession alive.

Steps to Reproduce:
1. Going to send a pull request.

Comment 1 Toshiya Kobayashi 2015-07-09 07:02:48 UTC
PR test case:
https://github.com/droolsjbpm/jbpm/pull/274

Comment 2 Toshiya Kobayashi 2015-07-09 07:09:01 UTC
PR fix proposal:
https://github.com/droolsjbpm/drools/pull/458

Please review.

Comment 4 Karel Suta 2015-09-01 14:06:54 UTC
Verified in 6.2.0.ER1


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