You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Alexandr Shapkin (Jira)" <ji...@apache.org> on 2021/03/16 12:12:00 UTC

[jira] [Created] (IGNITE-14324) EVT_CLIENT_NODE_DISCONNECTED is not triggered in k8s

Alexandr Shapkin created IGNITE-14324:
-----------------------------------------

             Summary: EVT_CLIENT_NODE_DISCONNECTED is not triggered in k8s
                 Key: IGNITE-14324
                 URL: https://issues.apache.org/jira/browse/IGNITE-14324
             Project: Ignite
          Issue Type: Improvement
    Affects Versions: 2.9.1
            Reporter: Alexandr Shapkin
            Assignee: Alexandr Shapkin
             Fix For: 2.11


Scenario:

Kubernetes world, a server node, a k8s service, and a thick client. The client is subscribed to EVT_CLIENT_NODE_DISCONNECTED event and is connected to the server node.

When a service goes down alongside the server, no EVT_CLIENT_NODE_DISCONNECTED is caught and the client reports only about a socket exception and inability to resolve IP addresses from the services, cause k8s resource is not available. The DEBUG logs (attached) show that discovery is constantly trying to use KubernetesIpFinder and restore the connection.

Expected:
Discovery realizes that a client is disconnected, no more reconnection attempts happen and EVT_CLIENT_NODE_DISCONNECTED is thrown.

Solution:

Count resolution attempts and if it’s more than the threshold (2 if failuredetectiontimeout is not configured, otherwise #reconnCount) give up and invoke disconnection logic



--
This message was sent by Atlassian Jira
(v8.3.4#803005)