Guys, We are currently finishing working on IGNITE-709 - which will bring client discovery to Ignite. This mode will allow clients to connect and use the cluster without taking place in nodes ring and therefore will not introduce lags to server heartbeats exchange and failure detection. This may be very critical, as clients may be started on weaker machines.
I want to discuss a configuration question. Currently we have Ignition.setClientMode() and IgniteConfiguration.setClientMode(). Setting this to true makes all configured caches run in client mode. I wanted to extend this behavior and make discovery switch to client mode, but this is not possible since TcpDiscoverySpi and ClientDiscoverySpi are different classes with different configuration. This means that I cannot alter SPI configuraiton, but I need to create another instance. I don't like the approach. Why do we need separate SPI class instead of mode in current TCP discovery? --Yakov