[MAGNOLIA-1142] workflow probably stalled if command referenced by magnolia command participant is not found Created: 13/Oct/06  Updated: 23/Jan/13  Resolved: 07/Aug/08

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Chris Miner Assignee: Boris Kraft
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

i created a workflow with a command participant:
<participant ref="command-logWorkItem"/>

logWorkItem doesn't exist in any catalog of commands. And it doesn't exist in the catalog named 'default'. Stepping through the code in MgnlParticipant, I am not sure it does the right thing in that case. Specifically no reply to the engine is done. I think this would leave the item 'stalled'. Probably a failure to find the command should result in the item being rejected.



 Comments   
Comment by Philipp Bracher [ 17/Oct/06 ]

It should definitely return to the flow with the ATTRIBUTE_EXCEPTION set with a CommandNotFoundException

Comment by Jan Haderka [ 07/Aug/08 ]

as of 3.6.1:

  • if participant can't be found or fails during execution, the error is logged
    INFO   openwfe.org.embed.impl.engine.AbstractEmbeddedParticipant MgnlParticipant.java(consume:111) 07.08.2008 09:45:39  consume command command-logWorkItem...
    ERROR  openwfe.org.embed.impl.engine.AbstractEmbeddedParticipant MgnlParticipant.java(consume:135) 07.08.2008 09:45:39  No command has been found through the magnolia catalog for name: command-logWorkItem
    INFO   openwfe.org.embed.impl.engine.AbstractEmbeddedParticipant MgnlParticipant.java(consume:138) 07.08.2008 09:45:39  consume command command-logWorkItem end
    
  • there is not ATTRIBUTE_EXCEPTION nor is there any CommandNotFoundException
  • actually correct behaviour in this case seems to indeed leave item stalled since this is what OpenWFE does normally when failing to execute participant. See [1] for details. The else-ref or default timeout in the workflow can take care of resuming execution should one of the participants fail. Alternativally such stalled workflow can be resumed or removed manually.

[1] http://www.nabble.com/-owfe-users--correct-response-from-participant-in-event-of-failure--td7356870.html

Generated at Mon Feb 12 03:24:04 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.