The Teradata Named Pipe Access Module (NPAM) provides an inter-process communication link between a writer process (such as FastExport) and a reader process (such as FastLoad). The NPAM can also be used by Teradata Parallel Transporter (TPT) for data transfer.
This article details the different modes in which Named pipes are opened and used by NPAM for data transfer activity.
Different modes of Named pipes
The Named pipes can be opened in two different modes (namely blocking and non-blocking) by the NPAM. Please note that the NPAM supports blocked read and write operations by default.
In blocking mode, the reader process gets blocked when it tries to read an empty pipe and the writer process gets blocked when it tries to write on the pipe when it is full. In non-blocking mode, the reader process returns error when the pipe is empty and the writer process returns error when the pipe is full.
The Named pipe operating modes are depicted below:
The User’s choice
The user can choose the mode of the Named pipe to be used (for data transfer) by setting the need_full_block parameter (in the Initialization string) with the appropriate value. Thereby, the user can override the default mode of creation of the Named pipe by the NPAM.
If the value of need_full_block parameter is
yes, then the NPAM creates the Named pipe in blocking mode. This is the default.
no, then the NPAM creates the Named pipe in non-blocking mode.
The following statement can be given in the TPUMP job script to create the Named pipe in the blocking mode. Please note that the “nfb” parameter is set to ‘y’ for this case.
INFILE np_one /* “np_one” is the name of the Named pipe */