Developer Transformation Guide > Joiner Transformation > Blocking the Source Pipelines
  

Blocking the Source Pipelines

When you run a mapping with a Joiner transformation, the Data Integration Service blocks and unblocks the source data based on the mapping configuration and whether you configure the Joiner transformation for sorted input.

Unsorted Joiner Transformation

When the Data Integration Service processes an unsorted Joiner transformation, it reads all master rows before it reads the detail rows. The Data Integration Service blocks the detail source while it caches rows from the master source.
After the Data Integration Service reads and caches all master rows, it unblocks the detail source and reads the detail rows. Some mappings with unsorted Joiner transformations violate data flow validation.

Sorted Joiner Transformation

When the Data Integration Service processes a sorted Joiner transformation, it blocks data based on the mapping configuration. Blocking logic is possible if master and detail input to the Joiner transformation originate from different sources.
The Data Integration Service uses blocking logic to process the Joiner transformation if it can do so without blocking all sources in a target load order group simultaneously. Otherwise, it does not use blocking logic. Instead, it stores more rows in the cache.
When the Data Integration Service can use blocking logic to process the Joiner transformation, it stores fewer rows in the cache, increasing performance.

Caching Master Rows

When the Data Integration Service processes a Joiner transformation, it reads rows from both sources concurrently and builds the index and data cache based on the master rows.
The Data Integration Service then performs the join based on the detail source data and the cache data. The number of rows the Data Integration Service stores in the cache depends on the source data and whether you configure the Joiner transformation for sorted input.
To increase performance for an unsorted Joiner transformation, use the source with fewer rows as the master source. To increase performance for a sorted Joiner transformation, use the source with fewer duplicate key values as the master.