r2 - 23 Nov 2007 - 11:39:29 - StianSoilandYou are here: myGrid wiki >  Mygrid Web  > TavernaWorkbench > TavernaFaq > FaqStacktraceFailOnTrue

Why do I get stacktraces when using "Fail if true"?

The Fail_if_true and Fail_if_false local workers, available under Local services -> Local Java widgets -> conditional, have the functionality that they fail if the input is "true" or "false". This can be combined with a "Coordinate from" on another processor that would then only run if the Fail* processor succeeds, ie. doesn't fail. (effectively branching the workflow).

In addition, a nested workflow can use the Fail* processors set as Critical and thereby conditionally fail the whole nested workflow. This combined with a retry policy for the nested workflow in the wrapping workflow can be used for typical 'Wait until service says X' loops, such as job submission systems.

The way these processors are implemented is simply to fail on purpose if the input condition matches. However, this means that a stack trace will be printed from the enactment engine every time a processor like this fails. Note that this doesn't neccessarily mean the workflow failed, in fact that part of the workflow is probably designed to fail.

We have still marked this as a bug, TAV-479, since we shouldn't be outputting stack traces unless there's an actual error. With Taverna 2 this kind of control logic can probably be implemented by the workflow designer without resorting to failing processors.

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r2 < r1 | More topic actions
 
Powered by myGrid wiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding myGrid wiki? Send feedback