Disconnection is visible instantly but I never see Membership changes when the NIC is up. Same thing when I just unplug Ethernet cable and plug it back in.
Oct 15, 2013 4:48:57 PM com.hazelcast.cluster.ClusterManager
WARNING: [10.173.240.1]:7008 [matrix] Added Address[10.173.240.2]:7008 to list of dead addresses because of timeout since last read
Oct 15, 2013 4:48:57 PM com.hazelcast.cluster.ClusterManager
INFO: [10.173.240.1]:7008 [matrix] Removing Address Address[10.173.240.2]:7008
Oct 15, 2013 4:48:57 PM com.hazelcast.nio.Connection
INFO: [10.173.240.1]:7008 [matrix] Connection [Address[10.173.240.2]:7008] lost. Reason: Explicit close
Oct 15, 2013 4:48:57 PM com.hazelcast.impl.PartitionManager
INFO: [10.173.240.1]:7008 [matrix] Starting to send partition replica diffs...
Oct 15, 2013 4:48:57 PM com.hazelcast.cluster.ClusterManager
INFO: [10.173.240.1]:7008 [matrix]
Members [1] {
Member [10.173.240.1]:7008 this
}
Oct 15, 2013 4:49:01 PM com.hazelcast.impl.PartitionManager
INFO: [10.173.240.1]:7008 [matrix] Remaining migration tasks in queue => Immediate-Tasks: 2, Scheduled-Tasks: 0
Oct 15, 2013 4:49:01 PM com.hazelcast.impl.PartitionManager
INFO: [10.173.240.1]:7008 [matrix] Total 0 partition replica diffs have been processed.
Oct 15, 2013 4:49:01 PM com.hazelcast.impl.PartitionManager
INFO: [10.173.240.1]:7008 [matrix] Re-partitioning cluster data... Immediate-Tasks: 0, Scheduled-Tasks: 0
Oct 15, 2013 4:49:05 PM com.hazelcast.impl.MulticastService
WARNING: [10.173.240.1]:7008 [matrix] You probably have too long Hazelcast configuration!
java.io.IOException: Network is unreachable
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:676)
at com.hazelcast.impl.MulticastService.send(MulticastService.java:173)
at com.hazelcast.impl.MulticastJoiner.searchForOtherClusters(MulticastJoiner.java:112)
at com.hazelcast.impl.SplitBrainHandler.searchForOtherClusters(SplitBrainHandler.java:57)
at com.hazelcast.impl.SplitBrainHandler.access$000(SplitBrainHandler.java:23)
at com.hazelcast.impl.SplitBrainHandler$1.doRun(SplitBrainHandler.java:44)
at com.hazelcast.impl.FallThroughRunnable.run(FallThroughRunnable.java:22)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
at com.hazelcast.impl.ExecutorThreadFactory$1.run(ExecutorThreadFactory.java:45)
<properties>
<property name="hazelcast.socket.bind.any">false</property>
<property name="hazelcast.prefer.ipv4.stack">true</property>
<property name="hazelcast.version.check.enabled">false</property>
<property name="hazelcast.initial.min.cluster.size">2</property>
<property name="hazelcast.max.no.heartbeat.seconds">10</property>
<property name="hazelcast.wait.seconds.before.join">1</property>
<property name="hazelcast.max.wait.seconds.before.join">5</property>
<property name="hazelcast.merge.first.run.delay.seconds">15</property>
<property name="hazelcast.merge.next.run.delay.seconds">10</property>
<property name="hazelcast.icmp.enabled">true</property>
<property name="hazelcast.jmx">true</property>
<property name="hazelcast.jmx.detailed">true</property>
</properties>
I've added hazelcast.icmp.enabled after reading on this list that it helps with recovery .
I appreciate it's not default config and maybe those settings are quite extreme but what I wanted to achieve is a quick join when the node comes back.