////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
////
:documentationPath: /pipeline/transforms/
:language: en_US
:description: The Blocking transform blocks all output until the very last row is received from the previous transform.

= image:transforms/icons/blockingtransform.svg[Blocking transform Icon, role="image-doc-icon"] Blocking transform

[%noheader,cols="3a,1a", role="table-no-borders" ]
|===
|
== Description

The Blocking transform blocks all output until the very last row is received from the previous transform.

NOTE: the transform blocks until it gets the last row. It does *not* block until the previous transform is finished 100% which is functionality found in the other transform xref:pipeline/transforms/blockuntiltransformsfinish.adoc[Blocking until transforms finish].

At that point, the last row is sent to the next transform or the complete input is sent off to the next transform.
Use the Blocking transform for triggering plugins, stored procedures, Java scripts, ... or for synchronization purposes.

|
== Supported Engines
[%noheader,cols="2,1a",frame=none, role="table-supported-engines"]
!===
!Hop Engine! image:check_mark.svg[Supported, 24]
!Spark! image:question_mark.svg[Maybe Supported, 24]
!Flink! image:question_mark.svg[Maybe Supported, 24]
!Dataflow! image:question_mark.svg[Maybe Supported, 24]
!===
|===

== Options

[options="header"]
|===
|Option|Description
|Transform name|Name of the transform; this name has to be unique in a single pipeline.
|Pass all rows?|Determines whether to pass one row or all rows
|Spool directory|The directory in which the temporary files are stored if needed; the default is the standard temporary directory for the system
|Spool-file prefix|Choose a recognizable prefix to identify the files when they appear in the temp directory
|Cache size|The more rows you can store in memory, the faster the transform works
|Compress spool files?|Compresses temporary files when they are needed
|===