Search code examples
ignitegridgainapacheignite

Benefits/purpose of Force Server Mode of Ignite


I need some clarity on flag forceServerMode flag of TcpDiscoverySpi. As per below documentation, DiscoverySPI will behave in same way for client node as it would for server:

If node is configured as client node (see IgniteConfiguration.clientMode) TcpDiscoverySpi starts in client mode as well. In this case node does not take its place in the ring, but it connects to random node in the ring (IP taken from IP finder configured) and use it as a router for discovery traffic. Therefore slow client node or its shutdown will not affect whole cluster. If TcpDiscoverySpi needs to be started in server mode regardless of IgniteConfiguration.clientMode, forceSrvMode should be set to true.

Does that mean:

  1. Client node would become part of discovery ring? If Yes, would it impact overall Grid performance?

  2. Does it impact near caches of client node if it has any?

  3. What are the benefits if we make this flag true?

Added link for the documentation for reference: https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html


Solution

  • This option has already been deprecated. But let me answer all the questions.

    1. It could potentially affect cluster stability and performance.
    2. I believe it shouldn't impact anything in terms of functionality.
    3. I don't see any major benefits of the property. Most likely you can start a standalone client without any running servers, but maybe not, honestly I haven't checked it.

    In general I wouldn't recommend using it. It totally looks like a legacy thing.

    PS a similar question was asnwered a while ago.