diff --git a/src/main/java/org/elasticsearch/discovery/zen/ZenDiscovery.java b/src/main/java/org/elasticsearch/discovery/zen/ZenDiscovery.java index a2d1fbdb3ff..acc41d64667 100644 --- a/src/main/java/org/elasticsearch/discovery/zen/ZenDiscovery.java +++ b/src/main/java/org/elasticsearch/discovery/zen/ZenDiscovery.java @@ -1161,17 +1161,6 @@ public class ZenDiscovery extends AbstractLifecycleComponent implemen public void onMasterFailure(DiscoveryNode masterNode, String reason) { handleMasterGone(masterNode, reason); } - - @Override - public void notListedOnMaster() { - // got disconnected from the master, send a join request - DiscoveryNodes nodes = nodes(); - try { - membership.sendJoinRequest(nodes.masterNode(), nodes.localNode()); - } catch (Exception e) { - logger.warn("failed to send join request on disconnection from master [{}]", nodes.masterNode()); - } - } } boolean isRejoinOnMasterGone() { diff --git a/src/main/java/org/elasticsearch/discovery/zen/fd/MasterFaultDetection.java b/src/main/java/org/elasticsearch/discovery/zen/fd/MasterFaultDetection.java index 21e9b21022b..6c91c567ccd 100644 --- a/src/main/java/org/elasticsearch/discovery/zen/fd/MasterFaultDetection.java +++ b/src/main/java/org/elasticsearch/discovery/zen/fd/MasterFaultDetection.java @@ -54,8 +54,6 @@ public class MasterFaultDetection extends FaultDetection { /** called when pinging the master failed, like a timeout, transport disconnects etc */ void onMasterFailure(DiscoveryNode masterNode, String reason); - /** called when the current nodes is not part of the disco nodes on the master */ - void notListedOnMaster(); } private final ClusterService clusterService; @@ -189,17 +187,6 @@ public class MasterFaultDetection extends FaultDetection { } } - private void notifyNotListedOnMaster() { - threadPool.generic().execute(new Runnable() { - @Override - public void run() { - for (Listener listener : listeners) { - listener.notListedOnMaster(); - } - } - }); - } - private void notifyMasterFailure(final DiscoveryNode masterNode, final String reason) { if (notifiedMasterFailure.compareAndSet(false, true)) { threadPool.generic().execute(new Runnable() { @@ -252,10 +239,6 @@ public class MasterFaultDetection extends FaultDetection { MasterFaultDetection.this.retryCount = 0; // check if the master node did not get switched on us..., if it did, we simply return with no reschedule if (masterToPing.equals(MasterFaultDetection.this.masterNode())) { - if (!response.listedOnMaster) { - logger.trace("[master] [{}] does not have us registered with it...", masterToPing); - notifyNotListedOnMaster(); - } // we don't stop on disconnection from master, we keep pinging it threadPool.schedule(pingInterval, ThreadPool.Names.SAME, MasterPinger.this); } @@ -368,7 +351,6 @@ public class MasterFaultDetection extends FaultDetection { // all processing is finished. // - if (!nodes.localNodeMaster() || !nodes.nodeExists(request.nodeId)) { logger.trace("checking ping from [{}] under a cluster state thread", request.nodeId); clusterService.submitStateUpdateTask("master ping (from: [" + request.nodeId + "])", new ProcessedClusterStateNonMasterUpdateTask() { @@ -401,7 +383,7 @@ public class MasterFaultDetection extends FaultDetection { @Override public void clusterStateProcessed(String source, ClusterState oldState, ClusterState newState) { try { - channel.sendResponse(new MasterPingResponseResponse(true)); + channel.sendResponse(new MasterPingResponseResponse()); } catch (IOException e) { logger.warn("error while sending ping response", e); } @@ -409,7 +391,7 @@ public class MasterFaultDetection extends FaultDetection { }); } else { // send a response, and note if we are connected to the master or not - channel.sendResponse(new MasterPingResponseResponse(true)); + channel.sendResponse(new MasterPingResponseResponse()); } } @@ -459,25 +441,25 @@ public class MasterFaultDetection extends FaultDetection { private static class MasterPingResponseResponse extends TransportResponse { - private boolean listedOnMaster; - private MasterPingResponseResponse() { } - private MasterPingResponseResponse(boolean listedOnMaster) { - this.listedOnMaster = listedOnMaster; - } - @Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); - listedOnMaster = in.readBoolean(); + if (in.getVersion().onOrBefore(Version.V_1_4_0_Beta1)) { + // old listedOnMaster + in.readBoolean(); + } } @Override public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); - out.writeBoolean(listedOnMaster); + if (out.getVersion().onOrBefore(Version.V_1_4_0_Beta1)) { + // old listedOnMaster + out.writeBoolean(true); + } } } } diff --git a/src/test/java/org/elasticsearch/discovery/ZenFaultDetectionTests.java b/src/test/java/org/elasticsearch/discovery/ZenFaultDetectionTests.java index 8f6b44b4339..cb2cdb4e435 100644 --- a/src/test/java/org/elasticsearch/discovery/ZenFaultDetectionTests.java +++ b/src/test/java/org/elasticsearch/discovery/ZenFaultDetectionTests.java @@ -187,11 +187,6 @@ public class ZenFaultDetectionTests extends ElasticsearchTestCase { failureReason[0] = reason; notified.countDown(); } - - @Override - public void notListedOnMaster() { - - } }); // will raise a disconnect on A serviceB.stop();