Search in sources :

Example 1 with KafkaOperatorNotRegisteredException

use of com.ibm.streamsx.kafka.KafkaOperatorNotRegisteredException in project streamsx.kafka by IBMStreams.

the class CrKafkaConsumerGroupClient method processCheckpointEvent.

/**
 * Creates a checkpoint of the current state when used in consistent region.
 * Following data is included into the checkpoint in this sequence:
 * <ul>
 * <li>assignablePartitions</li>
 * <li>assignedPartitionsOffsetManager</li>
 * <li>current committed offsets fetched from the cluster. Gathering this data is expensive as it involves a Kafka server request.
 * </ul
 * @param checkpoint the reference of the checkpoint object
 * @see com.ibm.streamsx.kafka.clients.consumer.AbstractKafkaConsumerClient#processCheckpointEvent(com.ibm.streams.operator.state.Checkpoint)
 */
@Override
protected void processCheckpointEvent(Checkpoint checkpoint) {
    trace.info(MsgFormatter.format("processCheckpointEvent() [{0}] sequenceId = {1}", state, checkpoint.getSequenceId()));
    try {
        Set<String> registeredConsumers = this.crGroupCoordinatorMxBean.getRegisteredConsumerOperators();
        final String myOperatorName = getOperatorContext().getName();
        if (ENABLE_CHECK_REGISTERED_ON_CHECKPOINT) {
            if (!registeredConsumers.contains(myOperatorName)) {
                final String msg = MsgFormatter.format("My operator name not registered in group MXBean: {0}", myOperatorName);
                trace.error(msg);
                throw new KafkaOperatorNotRegisteredException(msg);
            }
        }
        ObjectOutputStream oStream = checkpoint.getOutputStream();
        oStream.writeObject(myOperatorName);
        oStream.writeObject(registeredConsumers);
        oStream.writeObject(this.assignedPartitionsOffsetManager);
        if (trace.isEnabledFor(DEBUG_LEVEL)) {
            trace.log(DEBUG_LEVEL, "data written to checkpoint: myOperatorName = " + myOperatorName);
            trace.log(DEBUG_LEVEL, "data written to checkpoint: contributingOperators = " + registeredConsumers);
            trace.log(DEBUG_LEVEL, "data written to checkpoint: assignedPartitionsOffsetManager = " + this.assignedPartitionsOffsetManager);
        }
    } catch (Exception e) {
        throw new KafkaOperatorRuntimeException(e.getMessage(), e);
    }
    trace.log(DEBUG_LEVEL, "processCheckpointEvent() - exiting.");
}
Also used : KafkaOperatorRuntimeException(com.ibm.streamsx.kafka.KafkaOperatorRuntimeException) KafkaOperatorNotRegisteredException(com.ibm.streamsx.kafka.KafkaOperatorNotRegisteredException) ObjectOutputStream(java.io.ObjectOutputStream) SerializationException(org.apache.kafka.common.errors.SerializationException) InstanceAlreadyExistsException(javax.management.InstanceAlreadyExistsException) ReflectionException(javax.management.ReflectionException) NotCompliantMBeanException(javax.management.NotCompliantMBeanException) KafkaOperatorResetFailedException(com.ibm.streamsx.kafka.KafkaOperatorResetFailedException) KafkaClientInitializationException(com.ibm.streamsx.kafka.KafkaClientInitializationException) KafkaOperatorRuntimeException(com.ibm.streamsx.kafka.KafkaOperatorRuntimeException) MalformedObjectNameException(javax.management.MalformedObjectNameException) ListenerNotFoundException(javax.management.ListenerNotFoundException) KafkaOperatorNotRegisteredException(com.ibm.streamsx.kafka.KafkaOperatorNotRegisteredException) MBeanRegistrationException(javax.management.MBeanRegistrationException) UnsupportedControlPortActionException(com.ibm.streamsx.kafka.UnsupportedControlPortActionException) InstanceNotFoundException(javax.management.InstanceNotFoundException) IOException(java.io.IOException) KafkaConfigurationException(com.ibm.streamsx.kafka.KafkaConfigurationException) MBeanException(javax.management.MBeanException)

Aggregations

KafkaClientInitializationException (com.ibm.streamsx.kafka.KafkaClientInitializationException)1 KafkaConfigurationException (com.ibm.streamsx.kafka.KafkaConfigurationException)1 KafkaOperatorNotRegisteredException (com.ibm.streamsx.kafka.KafkaOperatorNotRegisteredException)1 KafkaOperatorResetFailedException (com.ibm.streamsx.kafka.KafkaOperatorResetFailedException)1 KafkaOperatorRuntimeException (com.ibm.streamsx.kafka.KafkaOperatorRuntimeException)1 UnsupportedControlPortActionException (com.ibm.streamsx.kafka.UnsupportedControlPortActionException)1 IOException (java.io.IOException)1 ObjectOutputStream (java.io.ObjectOutputStream)1 InstanceAlreadyExistsException (javax.management.InstanceAlreadyExistsException)1 InstanceNotFoundException (javax.management.InstanceNotFoundException)1 ListenerNotFoundException (javax.management.ListenerNotFoundException)1 MBeanException (javax.management.MBeanException)1 MBeanRegistrationException (javax.management.MBeanRegistrationException)1 MalformedObjectNameException (javax.management.MalformedObjectNameException)1 NotCompliantMBeanException (javax.management.NotCompliantMBeanException)1 ReflectionException (javax.management.ReflectionException)1 SerializationException (org.apache.kafka.common.errors.SerializationException)1