Hi,

when running Ignite inside a docker container, and the container is
being stopped, what is the safest way to handle shutdown event?

Currently I'm using a ShutdownHook to the Java runtime and try to
quickly deactivate and disconnect the cluster. But I get an exception
like this:

class org.apache.ignite.IgniteException: Failed to execute deactivate
request, node is stopping.
        at
org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:1067)
        at
org.apache.ignite.internal.cluster.IgniteClusterImpl.active(IgniteClusterImpl.java:317)
        at
mediafan.net.ignite.IgniteHelper.setClusterActiveStatus(IgniteHelper.java:238)
        at mediafan.client.helper.ConsoleApp.setActive(ConsoleApp.java:370)
        at
mediafan.client.helper.ConsoleApp.disconnect(ConsoleApp.java:342)
        at mediafan.client.helper.ConsoleApp$1.run(ConsoleApp.java:70)
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to
execute deactivate request, node is stopping.
        at
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.changeGlobalState0(GridClusterStateProcessor.java:1007)
        at
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.changeGlobalState(GridClusterStateProcessor.java:832)
        at
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.changeGlobalState(GridClusterStateProcessor.java:820)
        at
org.apache.ignite.internal.cluster.IgniteClusterImpl.active(IgniteClusterImpl.java:314)
        ... 4 more

If I only do a disconnect without deactivate then it works well. But my
understanding is the last server node should also deactivate the
cluster? How can this be achieved in such Docker environment?

Thanks,
Thomas.


Reply via email to