Skip to content

Configuration Parameters

An operator has several parameters that can be set via the OperatorConfig object returned at the instantiation of an operator via the manager:

1
2
OperatorConfig* operatorConfig = cloudControl->createOperator("myOperator", 0);
operatorConfig->setParameter((char*)SOMEPARAMTERKEY, (char*)"parameterValue");

Or via setting the parameters in the json file if the simple static manager is used:

1
2
3
4
"myOperator" : 
{
   "someParameterkey" : "paramterValue"
}

General

  • LIBRARYPATH - libraryPath
    Default value: "./libOperator.so"
    Path to operator library.

  • PARAMETERS - parameters
    Default value: `"parameter" ` Parameter to parameterize an operator, i.e., the value is passed to the operator's init() method.

  • TIMERINTERVAL - timerInterval
    Default value: "-1"
    Time interval for the generate() method of the operator in µs.

  • LOGGING - logging (still experimental)
    Default value: "0"

  • 0 = without event logging
  • 1 = with event logging

  • LAYERTYPE - layerType
    Default value: "noorder" (execution of events as they arrive on downstream operators)
    Alternatives:

  • deterministic (for an execution of events according to the timestamps)
  • experimental: noordernoduplicates, virtualsynchrony, virtualsynchronydelay, virtualsynchronydelayagree

Operator Partitioning

(see Partitioner interface)

  • SLICES - slices
    Default value: 2
    Number of partitions/slices an operator has.

  • PARTITIONERLIBRARY - partitionerLibrary
    Default value: KeyRangePartitioner
    Path to partitioner library. If no path is specified, the internal KeyRangePartitioner will be used by default.

  • ROUTINGKEYRANGESIZE - routingKeyRangeSize
    Default value: 1000
    If the KeyRangePartitioner is used.

Stateful Operators

(see "stateful operators")

  • STATEACCESSBUCKETS - stateAccessBuckets
    Default value: 10
    Number of buckets for the state. If the value is "-1", the operator has no state (stateless operator).

  • LOCKTYPE - lockType
    Default value: "spinLock"
    Locktype for the state access. Alternatives: "mutexLock", "rwLock" and "noLock"

Event Processing

  • PROCESSINGBATCHSIZE - processingBatchSize
    Default value: "10"
    How many events are processed per batch / cycle prior handing off to another thread.

  • PROCESSINGPRIORITY - processingPriority
    Default value: "0"
    Operators priority (0 = highest priority, 1 = is lower).

  • PROCESSINGTASKSGENERATOR -processingTasksGenerator
    Default value: "8"
    How many concurrent generating() calls / how many threads may concurrently call generate().

  • PROCESSINGTASKSPROCESSOR - processingTasksProcessor
    Default value: "8"
    How many concurrent process() calls / how many threads may concurrently call process().

Sending & Tuning

  • BUFFERBATCHTYPE - bufferBatchType
    Default value: "0"
    0 = BufferBatchDelegated - if the process cannot send an event because another one has acquired the lock, it puts the event in a list for pending ones.
    else BufferBatchDirect - if the process cannot send an event because another one has acquired the lock, it waits till it is its turn.

  • SENDINGBATCHSIZE - sendingBatchSize
    Default value: "1"
    Size of the list with events in bytes. If exceeded, the list is being sent.
    If you use a high value, the throughput increases, however, latency too.

  • BUFFERBATCHDELEGATEDPSIZE - bufferBatchDelegatedQueueSize
    Default value: "10"

  • BUFFERBATCHDELEGATEDQSIZE - bufferBatchDelegatedProcessingSize
    Default value: "10"

  • CHECKPOINTEPOCHLEN - checkPointEpochLength
    Default value: "-1"
    Determines the length between two checkpoints (time-stamp based).