In what order are features processed when there are parallel transformers

Liz Sanderson
Liz Sanderson
  • Updated

Introduction

In what order are features processed when there are multiple streams of data?

Normally, one would not care about this but there are some cases where it can make a difference (such as when writing to tables that have foreign key constraints on them, or when global variables are involved) or if you want to take advantage of transformers that have a 'feature' first option to improve performance (i.e. PointOnAreaOverlayer, Areas First parameter).

If you have multiple connection links coming out of a single output port of a transformer, you can right-click on a connection and select the "Set Connection Runtime Order..." option to determine the order the connections should fire.

connectionorder.png

 

'Creator' transformers (such as Creator, SQLCreator, PythonCreator) have a similar option that controls the order they are triggered:

creatorruntimeorder.png

FeatureHolder or Sorter can be used to hold back a set of features while a parallel data flow passes through, or to ensure they are in the correct sequence. Both are 'blocker' transformers and will cache your data, which ca have an impact on performance. FeatureHolder may not work if there are other 'blocker' transformers in the workflow.

You can also use the Sampler to identify when the last feature has passed, and use this to trigger another transformer that has an Initiator input port, such as FeatureReader or SQLExecutor. Configure the Sampler with:

Sampling Rate (N): 1
Sampling Type: Last N Features

featureorderingwithsampler.png

In this workspace, Sampler used in this way allows the PointOnAreaOverlayer to take advantage of Areas First, improving performance

Was this article helpful?

We're sorry to hear that.

Please tell us why.

As of January 14th, 2026, comments on knowledge base articles have been closed. To make sure questions don’t get missed and to enable more community support, we’ve moved discussions to the FME Community. If you have a question or a comment about this article, please create a new post or create a support ticket.