Alexander, as far as I remember we talked about having cluster id set via TcpDiscoverySpi configuration and also via system property.
What do you mean by "existence of sufficient comparator"? If we require that attribute is integer then we don't have any problems. If it is not integer then you should throw exception on start. I repeat this once again - we need to (1)prevent our users from falling into terrible discovery issues (which are hard to debug) if users provide inconsistent comparators on different nodes, but we also need to have (2)full flexibility and control over nodes ordering. I think if we don't have comparator on public API then we are still OK with both points above. Therefore, I would like you to implement this feature using the approach we agreed on before. Let me know if you want me to take a look at the code before you proceed. --Yakov