Merge Nodes causing non-initiated nodes to activate

Describe the issue/error/question

When setting up merge nodes, they will initiate previous nodes (even if they haven’t been activated). Reducing this to a very simple example:

Notice that NoOp1 (even though not set to run) is forced to run (Merge requires its data and therefore initiates it).

What I am trying to achieve is as follows (desired behaviour; achieved for now with photoshop):

The purpose of wanting the desired behaviour is to be able to have two triggers (at NoOp and NoOp1), but for only the relevant pathway to run based on which trigger is activated (to allow for common nodes, but then nodes specific to the trigger)

How can we modify the workflow below to achieve the desired behaviour?

Hi @pb84, this is the expected behaviour I am afraid. The Merge node will pull in data from connected input branches nodes, even if these branches wouldn’t normally run.

In your example the solution is simple though, simply don’t use a merge node.

With the Merge node, the top branch will run:

Without it the top branch won’t run and you would only get one item on your final node:

I know this is confusing and can make things more complicated, so please accept my apologies for the inconvenience this causes.

You might want to leave a vote on this feature request to have this changed in the future:


Thanks @MutedJam, your explanation makes sense. No issue this end if there is a functionality workaround.

See if we don’t use a merge node, the problem is that NoOp10 will still run; and then that we’ll get three items (rather than 1) running into NoOp9

Any thoughts on how we could get the following to work:

(but with one output from NoOp11)

I.e. NoOp10 only runs if NoOp6 has run (i.e. it is an ALL conditional running into the node, not an OR conditional)