Search in sources :

Example 1 with CRITICAL_ERROR

use of org.apache.ignite.failure.FailureType.CRITICAL_ERROR in project ignite by apache.

the class DistributedProcess method sendSingleMessage.

/**
 * Sends single node message to coordinator.
 *
 * @param p Process.
 */
private void sendSingleMessage(Process p) {
    assert p.resFut.isDone();
    SingleNodeMessage<R> singleMsg = new SingleNodeMessage<>(p.id, type, p.resFut.result(), (Exception) p.resFut.error());
    UUID crdId = p.crdId;
    if (F.eq(ctx.localNodeId(), crdId))
        onSingleNodeMessageReceived(singleMsg, crdId);
    else {
        try {
            ctx.io().sendToGridTopic(crdId, GridTopic.TOPIC_DISTRIBUTED_PROCESS, singleMsg, SYSTEM_POOL);
        } catch (ClusterTopologyCheckedException e) {
            // The coordinator has failed. The single message will be sent when a new coordinator initialized.
            if (log.isDebugEnabled()) {
                log.debug("Failed to send a single message to coordinator: [crdId=" + crdId + ", processId=" + p.id + ", error=" + e.getMessage() + ']');
            }
        } catch (IgniteCheckedException e) {
            log.error("Unable to send message to coordinator.", e);
            ctx.failure().process(new FailureContext(CRITICAL_ERROR, new Exception("Unable to send message to coordinator.", e)));
        }
    }
}
Also used : CRITICAL_ERROR(org.apache.ignite.failure.FailureType.CRITICAL_ERROR) IgniteCheckedException(org.apache.ignite.IgniteCheckedException) FailureContext(org.apache.ignite.failure.FailureContext) UUID(java.util.UUID) IgniteCheckedException(org.apache.ignite.IgniteCheckedException) ClusterTopologyCheckedException(org.apache.ignite.internal.cluster.ClusterTopologyCheckedException) ClusterTopologyCheckedException(org.apache.ignite.internal.cluster.ClusterTopologyCheckedException)

Aggregations

UUID (java.util.UUID)1 IgniteCheckedException (org.apache.ignite.IgniteCheckedException)1 FailureContext (org.apache.ignite.failure.FailureContext)1 CRITICAL_ERROR (org.apache.ignite.failure.FailureType.CRITICAL_ERROR)1 ClusterTopologyCheckedException (org.apache.ignite.internal.cluster.ClusterTopologyCheckedException)1