I just learned
So, on Linux, OpenJDK multicast implementation works fine, with IPv4, and also IPv6. Only on Mac OS X, multicast is broken (for ages, mostly because of crappy vendor support). The conclusion is to remove multicast completely from all platforms.
Well... multicast has advantages. Gaining some efficiency by reducing server load in local networks and eliminating redundant traffic is not such a bad idea at all. Beside that, I admit it's tough to get OpenJDK networking for Mac OS X fixed at upstream, but it's not totally hopeless. Blocking the broken multicast operations on Mac OS X for that (long) time would have been more than enough.
One of the features I liked of ES from the beginning in 2010 was the zero configuration setup. How about that: start a JVM and it suddenly becomes a cluster member - wow. This made the real difference. To use multicast IP, I convinced my network admin to disable IGMP snooping on the Cisco and create private subnets on VLANs, set up NICs with the correct scopes, and so on. I became a PITA. In the end, my DC was a multicast-friendly environment, able to run ES clusters with autodiscovery.
Maybe this is a situation where http://jgroups.org could get resurrected as a discovery plugin for the not-so-faint-hearted - it was used by kimchy back in the days before 0.7.0. Today, it also comes with a RAFT implementation http://belaban.github.io/jgroups-raft/ for experimenting with consensus algorithm.
Just my 2 ct.
Best, Jörg