Options for remote AEs
By default, AEs are local where the AE process lifecycle is controlled by the NPS system. Remote AEs enable launching and connecting to independently running AE processes.
These processes run outside the NPS system process tree "daemon style." Communication with a remote AE is performed through a connection point, which is an abstract address that consists of {remote name[,session ID] [,transaction ID] [,dataslice ID]}.
The connection point can be built by using a combination of remote name, session ID, transaction
ID, and data slice ID. For example, if only remote name is specified there is one AE per SPU/host
(each user session shares the same AE instance). If remote name and session ID are specified, there
is one AE per user session per SPU/host (a user session has its own private AE instance on each SPU
and the host). Only remote name is required. The other three are optional.
- --remote
- Indicates that the AE is a remote AE. If specified, requires the
--rnameoption. Example:--remote --rname applyop - --rname <ae_name>
- Specifies the name of the remote AE. This option is required if the
--remoteoption is specified. Example:--remote --rname applyop - --rsession
- Adds the session ID as an element of the connection point address (optional).
Example:
--rsession - --rtrans
- Adds the transaction ID as an element of the connection point address (optional).
Example:
--rtrans - --rdataslice
- Adds the data slice ID as an element of the connection point address (optional).
Example:
--rdataslice - --replbysql
- Defines that the SQL statement in which the AE is used can be replicated by SQL. To avoid mismatches between the master node and the subordinate node of your replicated system, ensure that the output of your AE is deterministic when you choose this option.
- --replbyval
- Defines that the SQL statement in which the AE is used should be replicated by value. If not specified otherwise, this is the default setting. Remote AEs are always replicated by value.
Launching a remote AE
Registration for launching a remote AE is similar to the process for a local AE. For example,
while the file to be executed is specified, there is no actual data request involved. A registration
for AE launching should always be for a table function with an argument signature of
bigint and returnTABLE(aeresult varchar(255)).- --launch
- Indicates that this is a launcher. Example:
--launch