Bug 749528

Summary: Signal event node is not triggered unless it has incomming connection
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Tomas Schlosser <tschloss>
Component: jBPM 5Assignee: Kris Verlaenen <kverlaen>
Status: VERIFIED --- QA Contact: Radovan Synek <rsynek>
Severity: medium Docs Contact:
Priority: unspecified    
Version: BRMS 5.3.0.GACC: lpetrovi
Target Milestone: ER6   
Target Release: BRMS 5.3.0.GA   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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 Tomas Schlosser 2011-10-27 11:21:27 UTC
Description of problem:
Signal event node shoul create a NodeTriggeredEvent when it is triggered by expected event. now it is triggered only when it has an incomming connection (which by documentation it should not have).

Version-Release number of selected component (if applicable):
BRMS-5.3.0.dev4

How reproducible:
Every time

Steps to Reproduce:
1. run attached reproducer
2.
3.
  
Actual results:
Start was triggered
Gateway was triggered
signal-incoming was triggered
Gateway was triggered
Gateway was triggered
Gateway was triggered
End was triggered
Finished...

Expected results:
Start was triggered
Gateway was triggered
signal-incoming was triggered
signal-no-incoming was triggered
Gateway was triggered
Gateway was triggered
Gateway was triggered
End was triggered
Finished...

Additional info:

Comment 1 Kris Verlaenen 2012-01-02 18:53:46 UTC
I'm not sure this is a real issue, but rather a discussion about what it means to trigger a node.  There are currently two types of node events, triggering (entering) a node and leaving a node.  In the current implementation, catching intermediate events are not generating trigger events (they are only generating left events, as they are not really triggered, rather activated from outside). Similarly, throwing intermediate events are not generating left events (they are only generating triggered events, as they are not really left, as they have no outgoing connection).

It would be possible to also generate both of these events for intermediate events, but since intermediate events don't have any real behaviour themselves, I'm not sure it would be useful to do so.

Comment 2 Kris Verlaenen 2012-01-25 13:33:31 UTC
Could we decide whether this is actually on issue or not and if not, close the issue?  I would recommend that the current implementation is what we believe should be the expected behaviour.  If the user want to get an event when a signal node is triggered by an external event, he can use the nodeLeftEvent for that.

Comment 3 Tomas Schlosser 2012-01-31 08:35:00 UTC
Thank you Kris for clarification. It sounds logical as you described.
However, could it be added to documentation? Some generic information like "nodes without incoming connection do not generate NodeTriggeredEvent and nodes without outgoing connection do not generate NodeLeftEvent".

Comment 4 Kris Verlaenen 2012-04-17 13:52:10 UTC
Updated in community docs:
https://github.com/droolsjbpm/jbpm/commit/89bca815b8efc026dae51cd52afc0077a4f0eb71

Comment 7 Ryan Zhang 2012-04-23 07:40:14 UTC
Update status to ON_QA. Please verify them against ER6.