Port mutability

When you define operator models while you develop a primitive operator, you must configure the mutability of tuples that flow through each input port and output port in the operator model.

A port is defined as mutating when the tupleMutationAllowed parameter is set to true. If the parameter is set to false, the port is defined as non-mutating or immutable.

The SPL compiler uses the port mutability settings to improve performance by safely eliminating tuple copies when it transmits tuples with a stream connection. The mutability of input ports indicates the intent of the operator logic to change incoming tuples. The mutability of output ports indicates whether the operator grants permission for submitted tuples to be modified.