Node options reference
The reservedengine object in a node’s config, read by the server and never seen by the plugin. Unknown keys, wrong types and out-of-range values are rejected when the workflow is validated, with the node id and option in the message.
retry, onError, trigger, elementTimeoutMs, deadlineMs, stallAfterMs, concurrencyGroup, failureBudget, edgeBuffer, checkpoint, echoOutput, placement.
Failure handling
retry
- Type:
object - Default: none (no retry)
- Applies to: processors
- Description: Runs the plugin again for the failing message with exponential backoff and jitter; the plugin is then called once per message, and each message carries an
attemptlabel (1,2, …).
IllegalArgumentException (bad input) is not retried unless listed in retryOn. retryOn and noRetryOn may not share a class. The validator also requires maxBackoffMs below the node timeout.
onError
- Type:
string:FAIL,CONTINUE,ROUTE(case-insensitive) - Default:
FAIL - Applies to: processors
- Description: What happens to a message that still fails:
FAILfails the node,CONTINUEdrops the message,ROUTEsends it, tagged with its failure, to the node’serroroutput port.
failure.attempts, failure.exception, failure.message, failure.time, origDest and failureReason (see Messages reference). An edge with no sourcePort never carries a dead letter; wire "sourcePort": "error".
With retry or onError CONTINUE/ROUTE, a message produces all of its output or none: output emitted before a failed attempt is held back and dropped.
failureBudget
- Type:
objectwithmaxFailures(integer, 0 or more, required) andwindowMs(integer, more than 0, required) - Default: none
- Applies to: nodes with
onErrorCONTINUEorROUTE; withFAILthe node is refused at validation - Description: When more than
maxFailuresmessages fail withinwindowMs, the node fails instead of dropping or routing the next one; counted per run.
trigger
- Type:
string:ALL_SUCCESS,ALL_DONE,ONE_SUCCESS - Default:
ALL_SUCCESS - Applies to: any node with several parents
- Description: The join rule:
ALL_SUCCESSfails when one parent fails;ALL_DONEcontinues on the other parents;ONE_SUCCESScontinues but fails when every parent failed.
Time limits
elementTimeoutMs
- Type: integer, whole milliseconds, more than 0
- Default: none
- Applies to: processors
- Description: Longest the plugin may take for one message; expiry counts as a failure, so
retryandonErrorapply. Useful only below the node’s idle timeout.
deadlineMs
- Type: integer, whole milliseconds, more than 0
- Default: none
- Applies to: any node
- Description: Longest the node may run from its first activity; not restarted by output or heartbeats, paused time does not count, must exceed
elementTimeoutMs. The node endsTIMED_OUT.
stallAfterMs
- Type: integer, whole milliseconds, more than 0
- Default: none
- Applies to: processors and triggers
- Description: A running node with no input, output, heartbeat or live log line for this long logs one WARN line starting
NodeStalled:. It only reports; the node is neither failed nor paused.
timeoutSeconds (outside engine)
- Type: integer
- Default: the plugin’s default idle timeout (30 s for many plugins)
- Description: Idle timeout of the node, a key of
confignext toengine, not inside it. A value that is an expression is applied when the first message arrives; write numbers as typed placeholders (${payload.secs:int}).
Flow control
edgeBuffer
- Type:
objectwithsize(integer 1 to 100000, required) andoverflow(DROP_OLDESTorDROP_NEWEST, defaultDROP_OLDEST) - Default: none (lossless, paced by the slowest child)
- Description: A bounded buffer in front of the node; when it is full the node drops a message instead of slowing its parents. Drops are counted in
yukta.edge.dropped.
concurrencyGroup
- Type:
string, not blank - Default: none
- Applies to: processors
- Description: Joins a named group; at most
yukta.concurrency.groups.<name>nodes of it run at once and the others waitQUEUED. A group with no configured limit is not limited.
placement
- Type:
objectwithpool(string, defaultdefault) - Default: none (runs on the server)
- Applies to: processors
- Description: Runs the node on a remote worker of the pool. Needs the Plus edition with workers; see Licensing and editions.
Durability and logging
checkpoint
- Type:
string:ALL,LAST,NONE - Default:
ALL - Description: What the node writes to the checkpoint store: every message, only the last message, or nothing. With
NONEthe node is never marked complete, so a resume runs it again.
echoOutput
- Type:
boolean - Default:
true, unless the node has secret config - Description: Copies the node’s output message into the run log when the plugin did not log it live. A node with a field the plugin declares secret, or a key named like a credential at any depth, is not echoed unless
echoOutputistrue. A non-boolean value fails validation. Echoed lines are cut to 2,048 characters.
Display (outside engine)
group and color are fields of the node, not of engine; see Workflow JSON reference.