use of com.hazelcast.cluster.Joiner in project hazelcast by hazelcast.
the class MasterClaimOperation method run.
@Override
public void run() {
final NodeEngineImpl nodeEngine = (NodeEngineImpl) getNodeEngine();
Node node = nodeEngine.getNode();
Joiner joiner = node.getJoiner();
final ILogger logger = node.getLogger(getClass().getName());
if (joiner instanceof TcpIpJoiner) {
TcpIpJoiner tcpIpJoiner = (TcpIpJoiner) joiner;
final Address endpoint = getCallerAddress();
final Address masterAddress = node.getMasterAddress();
approvedAsMaster = !tcpIpJoiner.isClaimingMaster() && !node.isMaster() && (masterAddress == null || masterAddress.equals(endpoint));
} else {
approvedAsMaster = false;
logger.warning("This node requires MulticastJoin strategy!");
}
if (logger.isFineEnabled()) {
logger.fine("Sending '" + approvedAsMaster + "' for master claim of node: " + getCallerAddress());
}
}
use of com.hazelcast.cluster.Joiner in project hazelcast by hazelcast.
the class NodeMulticastListener method handleNotActiveOrNotJoined.
private void handleNotActiveOrNotJoined(JoinMessage joinMessage) {
if (isJoinRequest(joinMessage)) {
Joiner joiner = node.getJoiner();
if (joiner instanceof MulticastJoiner) {
MulticastJoiner multicastJoiner = (MulticastJoiner) joiner;
multicastJoiner.onReceivedJoinRequest((JoinRequest) joinMessage);
} else {
logDroppedMessage(joinMessage);
}
} else {
Address address = joinMessage.getAddress();
if (node.getJoiner().isBlacklisted(address)) {
logDroppedMessage(joinMessage);
return;
}
if (!node.joined() && node.getMasterAddress() == null) {
ClusterJoinManager clusterJoinManager = node.getClusterService().getClusterJoinManager();
//todo: why are we making a copy here of address?
Address masterAddress = new Address(joinMessage.getAddress());
clusterJoinManager.setMasterAddress(masterAddress);
} else {
logDroppedMessage(joinMessage);
}
}
}
use of com.hazelcast.cluster.Joiner in project hazelcast by hazelcast.
the class Node method createJoiner.
Joiner createJoiner() {
JoinConfig join = config.getNetworkConfig().getJoin();
join.verify();
if (properties.getBoolean(DISCOVERY_SPI_ENABLED)) {
//TODO: Auto-Upgrade Multicast+AWS configuration!
logger.info("Activating Discovery SPI Joiner");
return new DiscoveryJoiner(this, discoveryService, properties.getBoolean(DISCOVERY_SPI_PUBLIC_IP_ENABLED));
} else {
if (join.getMulticastConfig().isEnabled() && multicastService != null) {
logger.info("Creating MulticastJoiner");
return new MulticastJoiner(this);
} else if (join.getTcpIpConfig().isEnabled()) {
logger.info("Creating TcpIpJoiner");
return new TcpIpJoiner(this);
} else if (join.getAwsConfig().isEnabled()) {
Class clazz;
try {
logger.info("Creating AWSJoiner");
clazz = Class.forName("com.hazelcast.cluster.impl.TcpIpJoinerOverAWS");
Constructor constructor = clazz.getConstructor(Node.class);
return (Joiner) constructor.newInstance(this);
} catch (Exception e) {
throw ExceptionUtil.rethrow(e);
}
}
}
return null;
}
Aggregations