Operators that support consistent regions

An operator might not support all of its possible parameters when it is in a consistent region.

The lists below summarize support for operators that are included in the SPL standard toolkit (spl) and specialized toolkits. Note that these lists are not exhaustive. Review the documentation for the specific operator to find out the details of support.

The following operators can start a consistent region. These start operators of a consistent region are typically source operators:

  • Beacon
  • DirectoryScan
  • FileSource
  • ReplayableStart
  • Generator in the TimeSeries Toolkit

The following operators can be in a consistent region with any of its possible parameters:

  • Aggregate
  • Beacon
  • Compress
  • CharacterTransform
  • Decompress
  • DeDuplicate
  • Delay
  • DynamicFilter
  • Filter
  • Format
  • Functor
  • Join
  • MetricsSink
  • Punctor
  • ReplayableStart
  • Sort
  • Split
  • ThreadedSplit
  • Throttle
  • UDPSink
  • Union
  • XMLParse
  • HBaseDelete in the HBase toolkit
  • HBaseGet in the HBase toolkit
  • HBasePut in the HBase toolkit
  • HBaseScan in the HBase toolkit
  • HDFS2FileSink in the Hadoop Distributed File System Toolkit
  • HDFS2FileSource in the Hadoop Distributed File System Toolkit
  • MatchRegex in the Complex Event Processing Toolkit
  • Geofence in the Geospatial Toolkit
  • SpatialGridIndex in the Geospatial Toolkit
  • SpatialRouter in the Geospatial Toolkit
  • AnomalyDetector in the TimeSeries Toolkit
  • ARIMA2 in the TimeSeries Toolkit
  • AutoForecaster2 in the TimeSeries Toolkit
  • CrossCorrelate2 in the TimeSeries Toolkit
  • CrossCorrelateMulti in the TimeSeries Toolkit
  • DSPFilter2 in the TimeSeries Toolkit
  • DSPFilterFinite in the TimeSeries Toolkit
  • DWT2 in the TimeSeries Toolkit
  • FFT in the TimeSeries Toolkit
  • Generator in the TimeSeries Toolkit
  • GMM in the TimeSeries Toolkit
  • HoltWinters2 in the TimeSeries Toolkit
  • Kalman in the TimeSeries Toolkit
  • ReSample in the TimeSeries Toolkit
  • STD in the TimeSeries Toolkit
  • VAR2 in the TimeSeries Toolkit

The following operators can be in a consistent region with a limited set of parameters or application topology configurations:

  • Barrier
  • Custom
  • DirectoryScan
  • FileSink
  • FileSource
  • JavaOp
  • Pair
  • Parse
  • HDFS2DirectoryScan in the Hadoop Distributed File System Toolkit
  • KMeansClustering in the TimeSeries Toolkit
For any SPL standard toolkit operator not supporting consistent regions, placing the operator in a consistent region generates a compile-time error. User-written operators should use the SPL Operator Code Generation API to check whether the operator is in a consistent region and issue an error message. The following code snippet shows some sample code for C++ primitive operators:
my $isInConsistentRegion = $model->getContext()->getOptionalContext("ConsistentRegion");
    if ($isInConsistentRegion) {
      SPL::CodeGen::exitln(SPL::Msg::OP_CANNOT_LIVE_IN_CC_REGION($model->getContext()->getKind()),
          $model->getContext()->getSourceLocation());
    }