Search in sources :

Example 1 with InternalTaskContext

use of org.apache.samza.context.InternalTaskContext in project samza by apache.

the class OperatorImpl method init.

/**
 * Initialize this {@link OperatorImpl} and its user-defined functions.
 *
 * @param internalTaskContext the {@link InternalTaskContext} for the task
 */
public final void init(InternalTaskContext internalTaskContext) {
    final Context context = internalTaskContext.getContext();
    String opId = getOpImplId();
    if (initialized) {
        throw new IllegalStateException(String.format("Attempted to initialize Operator %s more than once.", opId));
    }
    if (closed) {
        throw new IllegalStateException(String.format("Attempted to initialize Operator %s after it was closed.", opId));
    }
    this.highResClock = createHighResClock(context.getJobContext().getConfig());
    registeredOperators = new LinkedHashSet<>();
    prevOperators = new LinkedHashSet<>();
    inputStreams = new LinkedHashSet<>();
    final ContainerContext containerContext = context.getContainerContext();
    final MetricsRegistry metricsRegistry = containerContext.getContainerMetricsRegistry();
    this.numMessage = metricsRegistry.newCounter(METRICS_GROUP, opId + "-messages");
    this.handleMessageNs = metricsRegistry.newTimer(METRICS_GROUP, opId + "-handle-message-ns");
    this.handleTimerNs = metricsRegistry.newTimer(METRICS_GROUP, opId + "-handle-timer-ns");
    final TaskContext taskContext = context.getTaskContext();
    this.taskName = taskContext.getTaskModel().getTaskName();
    this.eosStates = (EndOfStreamStates) internalTaskContext.fetchObject(EndOfStreamStates.class.getName());
    this.watermarkStates = (WatermarkStates) internalTaskContext.fetchObject(WatermarkStates.class.getName());
    this.controlMessageSender = new ControlMessageSender(internalTaskContext.getStreamMetadataCache());
    this.taskModel = taskContext.getTaskModel();
    this.callbackScheduler = taskContext.getCallbackScheduler();
    handleInit(context);
    this.elasticityFactor = new JobConfig(context.getJobContext().getConfig()).getElasticityFactor();
    initialized = true;
}
Also used : TaskContext(org.apache.samza.context.TaskContext) ContainerContext(org.apache.samza.context.ContainerContext) Context(org.apache.samza.context.Context) InternalTaskContext(org.apache.samza.context.InternalTaskContext) ContainerContext(org.apache.samza.context.ContainerContext) MetricsRegistry(org.apache.samza.metrics.MetricsRegistry) TaskContext(org.apache.samza.context.TaskContext) InternalTaskContext(org.apache.samza.context.InternalTaskContext) JobConfig(org.apache.samza.config.JobConfig)

Aggregations

JobConfig (org.apache.samza.config.JobConfig)1 ContainerContext (org.apache.samza.context.ContainerContext)1 Context (org.apache.samza.context.Context)1 InternalTaskContext (org.apache.samza.context.InternalTaskContext)1 TaskContext (org.apache.samza.context.TaskContext)1 MetricsRegistry (org.apache.samza.metrics.MetricsRegistry)1