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());
}
}
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());
}
}
}
}
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);
}
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);
}
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);
}
Aggregations