Search in sources :

Example 6 with NodeEngineImpl

use of com.hazelcast.spi.impl.NodeEngineImpl in project hazelcast by hazelcast.

the class ShutdownNodeOperation method run.

@Override
public void run() {
    final ClusterServiceImpl clusterService = getService();
    final ILogger logger = getLogger();
    final ClusterState clusterState = clusterService.getClusterState();
    if (clusterState == ClusterState.PASSIVE) {
        final NodeEngineImpl nodeEngine = (NodeEngineImpl) getNodeEngine();
        if (nodeEngine.isRunning()) {
            logger.info("Shutting down node in cluster passive state. Requested by: " + getCallerAddress());
            new Thread(new Runnable() {

                @Override
                public void run() {
                    final Node node = nodeEngine.getNode();
                    node.hazelcastInstance.getLifecycleService().shutdown();
                }
            }, nodeEngine.getHazelcastThreadGroup().getThreadNamePrefix(".clusterShutdown")).start();
        } else {
            logger.info("Node is already shutting down. NodeState: " + nodeEngine.getNode().getState());
        }
    } else {
        logger.severe("Can not shut down node because cluster is in " + clusterState + " state. Requested by: " + getCallerAddress());
    }
}
Also used : NodeEngineImpl(com.hazelcast.spi.impl.NodeEngineImpl) ClusterState(com.hazelcast.cluster.ClusterState) Node(com.hazelcast.instance.Node) ClusterServiceImpl(com.hazelcast.internal.cluster.impl.ClusterServiceImpl) ILogger(com.hazelcast.logging.ILogger)

Example 7 with NodeEngineImpl

use of com.hazelcast.spi.impl.NodeEngineImpl in project hazelcast by hazelcast.

the class SplitBrainMergeValidationOperation method run.

@Override
public void run() {
    ClusterServiceImpl service = getService();
    NodeEngineImpl nodeEngine = (NodeEngineImpl) getNodeEngine();
    Node node = nodeEngine.getNode();
    if (!preCheck(node)) {
        return;
    }
    if (!masterCheck(node)) {
        return;
    }
    if (request != null) {
        ILogger logger = getLogger();
        try {
            if (service.getClusterJoinManager().validateJoinMessage(request)) {
                // surprise to users and may cause unexpected issues.
                if (service.getClusterVersion().equals(request.getClusterVersion())) {
                    response = node.createSplitBrainJoinMessage();
                } else {
                    logger.info("Join check from " + getCallerAddress() + " failed validation due to incompatible version," + "remote cluster version is " + request.getClusterVersion() + ", this cluster is " + service.getClusterVersion());
                }
            }
            if (logger.isFineEnabled()) {
                logger.fine("Returning " + response + " to " + getCallerAddress());
            }
        } catch (Exception e) {
            if (logger.isFineEnabled()) {
                logger.fine("Could not validate split-brain join message! -> " + e.getMessage());
            }
        }
    }
}
Also used : NodeEngineImpl(com.hazelcast.spi.impl.NodeEngineImpl) Node(com.hazelcast.instance.Node) ClusterServiceImpl(com.hazelcast.internal.cluster.impl.ClusterServiceImpl) ILogger(com.hazelcast.logging.ILogger) IOException(java.io.IOException)

Example 8 with NodeEngineImpl

use of com.hazelcast.spi.impl.NodeEngineImpl in project hazelcast by hazelcast.

the class AuthenticationFailureOperation method run.

@Override
public void run() {
    final NodeEngineImpl nodeEngine = (NodeEngineImpl) getNodeEngine();
    final Node node = nodeEngine.getNode();
    final ILogger logger = nodeEngine.getLogger("com.hazelcast.security");
    logger.severe("Node could not join cluster. Authentication failed on master node! Node is going to shutdown now!");
    node.shutdown(true);
}
Also used : NodeEngineImpl(com.hazelcast.spi.impl.NodeEngineImpl) Node(com.hazelcast.instance.Node) ILogger(com.hazelcast.logging.ILogger)

Example 9 with NodeEngineImpl

use of com.hazelcast.spi.impl.NodeEngineImpl in project hazelcast by hazelcast.

the class ConfigMismatchOperation method run.

@Override
public void run() {
    NodeEngineImpl nodeEngine = (NodeEngineImpl) getNodeEngine();
    Node node = nodeEngine.getNode();
    ILogger logger = nodeEngine.getLogger("com.hazelcast.cluster");
    logger.severe("Node could not join cluster. A Configuration mismatch was detected: " + msg + " Node is going to shutdown now!");
    node.shutdown(true);
}
Also used : NodeEngineImpl(com.hazelcast.spi.impl.NodeEngineImpl) Node(com.hazelcast.instance.Node) ILogger(com.hazelcast.logging.ILogger)

Example 10 with NodeEngineImpl

use of com.hazelcast.spi.impl.NodeEngineImpl in project hazelcast by hazelcast.

the class FinalizeJoinOperation method runPostJoinOp.

private void runPostJoinOp() {
    if (postJoinOp == null) {
        return;
    }
    ClusterServiceImpl clusterService = getService();
    NodeEngineImpl nodeEngine = clusterService.getNodeEngine();
    InternalOperationService operationService = nodeEngine.getOperationService();
    postJoinOp.setNodeEngine(nodeEngine);
    OperationAccessor.setCallerAddress(postJoinOp, getCallerAddress());
    OperationAccessor.setConnection(postJoinOp, getConnection());
    postJoinOp.setOperationResponseHandler(createEmptyResponseHandler());
    operationService.run(postJoinOp);
}
Also used : NodeEngineImpl(com.hazelcast.spi.impl.NodeEngineImpl) ClusterServiceImpl(com.hazelcast.internal.cluster.impl.ClusterServiceImpl) InternalOperationService(com.hazelcast.spi.impl.operationservice.InternalOperationService)

Aggregations

NodeEngineImpl (com.hazelcast.spi.impl.NodeEngineImpl)112 HazelcastInstance (com.hazelcast.core.HazelcastInstance)39 Test (org.junit.Test)32 ParallelTest (com.hazelcast.test.annotation.ParallelTest)31 QuickTest (com.hazelcast.test.annotation.QuickTest)31 Node (com.hazelcast.instance.Node)21 MapService (com.hazelcast.map.impl.MapService)20 Config (com.hazelcast.config.Config)19 TestHazelcastInstanceFactory (com.hazelcast.test.TestHazelcastInstanceFactory)19 InternalOperationService (com.hazelcast.spi.impl.operationservice.InternalOperationService)16 MetaDataGenerator (com.hazelcast.internal.nearcache.impl.invalidation.MetaDataGenerator)14 MapServiceContext (com.hazelcast.map.impl.MapServiceContext)14 ILogger (com.hazelcast.logging.ILogger)11 AssertTask (com.hazelcast.test.AssertTask)11 Invalidator (com.hazelcast.internal.nearcache.impl.invalidation.Invalidator)10 MapNearCacheManager (com.hazelcast.map.impl.nearcache.MapNearCacheManager)10 Address (com.hazelcast.nio.Address)10 Data (com.hazelcast.nio.serialization.Data)10 Before (org.junit.Before)10 Operation (com.hazelcast.spi.Operation)9