Bug 1330191

Summary: Error signaling a subprocess using the EJB API
Product: [Retired] JBoss BPMS Platform 6 Reporter: William Antônio <wsiqueir>
Component: jBPM CoreAssignee: Alessandro Lazarotti <alazarot>
Status: CLOSED EOL QA Contact: Radovan Synek <rsynek>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.2.0   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1330226 (view as bug list) Environment:
Last Closed: 2020-03-27 20:09:56 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1330226, 1332351    
Attachments:
Description Flags
Reproducer application none

Description William Antônio 2016-04-25 14:55:50 UTC
Created attachment 1150527 [details]
Reproducer application

Description of problem:

We have a Web application that makes use of the jbpm EJB remote API. The web application will handle a process that right after a task is complete, a subprocess is started and it has a signal event;
In the web application and using the ProcessServiceEJBLocal, RuntimeDataServiceEJBLocal and UserTaskServiceEJBLocal, it will do the following in a method of a stateless EJB (that has the mentioned jbpm EJBs injected)

   - complete the task
   - find the subprocess instance id
   - send a signal to the subprocess

The subprocess instance ID is found correctly, but when sending the signal, we have an exception saying that the process can't be found.


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

n/a

How reproducible:
always


Steps to Reproduce:
1. Create a process that has a task and then a subprocess that waits for a signal
2. In an application that uses the EJB API, start the process and the task from an EJB in a method
3. In the other method, complete the task and try to signal the process instance id
(the attached reproducer clarifies the issue)

Actual results:

Exception:

Expected results:

11:52:45,403 ERROR [org.jboss.as.ejb3.invocation] (http-/127.0.0.1:8080-1) JBAS014134: EJB Invocation failed on component ProcessServiceEJBImpl for method public abstract void org.jbpm.services.api.ProcessService.signalProcessInstance(java.lang.Long,java.lang.String,java.lang.Object): javax.ejb.EJBTransactionRolledbackException: Process instance with id 4 was not found


Subprocess signaled with success.

Additional info:

Reproducer is attached. Read the reproducer README.md before running it.

Comment 2 William Antônio 2016-05-03 00:39:02 UTC
My attempt to backport Maciej's comment[1] to 6.3.x

https://github.com/droolsjbpm/jbpm/pull/464

[1] https://github.com/droolsjbpm/jbpm/pull/457/commits/801df91557418ad14889edbec7ebefc907ab203f