I understand now, thanks Pavel, initial discussion didn`t touch kuber theme ...
>Вторник, 15 сентября 2020, 18:22 +03:00 от Pavel Tupitsyn ><ptupit...@apache.org>: > >Zhenya, sure, let me explain. > >Health checks are a common practice in modern deployments, quote [1]: >"Health probes can be used by container orchestrators and load balancers to >check an app's status. >For example, a container orchestrator may respond to a failing health check by >halting a rolling deployment or restarting a container. >A load balancer might react to an unhealthy app by routing traffic away from >the failing instance to a healthy instance." > >Kubernetes has various probes [2] to determine the pod status. > >So Ignite users need a proper mechanism to determine connectivity status of >the thin client >to integrate with frameworks and orchestrators. > >[1] https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks >[2] >https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ > >On Tue, Sep 15, 2020 at 4:36 PM Zhenya Stanilovsky < >arzamas...@mail.ru.invalid > wrote: > >>Pavel, i read whole thread, show me the reason why this functionality need to >>be external ? >> >>> >>> >>>Health checks are the primary use case. See linked user list thread. >>> >>>On Tue, Sep 15, 2020 at 12:26 PM Zhenya Stanilovsky >>>< arzamas...@mail.ru.invalid > wrote: >>> >>>> >>>> Whats the usage of such API ? Igor can you clarify please ? >>>> >>>> >Personally I believe that public API still can be helpful, as it gives >>>> user >>>> >an ability to check connection in the specific point in time, even if >>>> >automatic >>>> >ping is implemented (which is more complex and hard-to-maintain feature >>>> >by the way). >>>> > >>>> >Not sure there should be "ping" in API though, maybe something more like >>>> >client.checkConnection(); >>>> > >>>> >Best Regards, >>>> >Igor >>>> > >>>> > >>>> >On Mon, Sep 14, 2020 at 11:37 AM Alex Plehanov < plehanov.a...@gmail.com >>>> > >>>> >wrote: >>>> > >>>> >> Hello guys, >>>> >> >>>> >> We've already raised the question about ping requests here [1]. >>>> >> >>>> >> I'm not sure about public API, but at least we can have auto-ping as an >>>> >> internal mechanism. This will be helpful if the client doesn't send any >>>> new >>>> >> requests but only waits for server-side notifications (for example, if >>>> the >>>> >> client subscribed to CQ events). The client can't detect a connection >>>> lost >>>> >> until sending something to the server. Using periodic ping requests this >>>> >> problem can be solved. >>>> >> >>>> >> So, +1 to add ping to the protocol, +0 to expose it to public API. >>>> >> >>>> >> [1] >>>> >> >>>> >> >>>> >>>>http://apache-ignite-developers.2346864.n4.nabble.com/IEP-44-Thin-Client-Discovery-tp47129p47318.html >>>> >> >>>> >> пн, 14 сент. 2020 г. в 10:32, Pavel Tupitsyn < ptupit...@apache.org >: >>>> >> >>>> >> > Nikolay, >>>> >> > >>>> >> > See the discussion on the user list: >>>> >> > >>>> >> > 1. It is not immediately obvious which APIs perform server calls and >>>> >> which >>>> >> > don't. >>>> >> > 2. It is not clear which APIs can cause heavy resource usage on the >>>> >> server >>>> >> > side. >>>> >> > We don't want to stress servers by pinging them. >>>> >> > cache.size() is an example - it is tempting to use and seems to be >>>> >> > simple, but actually queries every server node in the cluster. >>>> >> > >>>> >> > > dedicated `ping` operation makes our API heavier >>>> >> > The operation is so trivial that I would not worry about increased >>>> >> > complexity or future maintenance. >>>> >> > >>>> >> > On Mon, Sep 14, 2020 at 10:17 AM Nikolay Izhikov < >>>> nizhi...@apache.org > >>>> >> > wrote: >>>> >> > >>>> >> > > Hello, Igor. >>>> >> > > >>>> >> > > On the other hand, dedicated `ping` operation makes our API heavier >>>> >> > > without adding new feature - >>>> >> > > We can do the same with the other part of the API. >>>> >> > > >>>> >> > > Moreover, response to the ping doesn’t mean that SQL or cache query >>>> can >>>> >> > be >>>> >> > > served. >>>> >> > > >>>> >> > > > 14 сент. 2020 г., в 10:08, Igor Sapego < isap...@apache.org > >>>> >> > написал(а): >>>> >> > > > >>>> >> > > > Николай, >>>> >> > > > >>>> >> > > > It looks a little bit hacky to me. I believe SQL drivers usually >>>> use >>>> >> > that >>>> >> > > > approach >>>> >> > > > as a workaround because there is no other common way to do that. >>>> >> > > > >>>> >> > > > Sure we can recommend users to use cache.size() or anything other >>>> >> > > > similar way >>>> >> > > > to ensure the connection is alive, but it still looks like a >>>> >> workaround >>>> >> > > to >>>> >> > > > me. >>>> >> > > > >>>> >> > > > Best Regards, >>>> >> > > > Igor >>>> >> > > > >>>> >> > > > >>>> >> > > > On Sun, Sep 13, 2020 at 10:16 PM Николай Ижиков < >>>> nizhi...@apache.org >>>> >> > >>>> >> > > wrote: >>>> >> > > > >>>> >> > > >> Hello, Pavel. >>>> >> > > >> >>>> >> > > >> SQL drivers usually use “SELECT 1” query to ensure connection is >>>> >> > alive. >>>> >> > > >> >>>> >> > > >> Can we use similar approach? >>>> >> > > >> >>>> >> > > >> Отправлено с iPhone >>>> >> > > >> >>>> >> > > >>> 13 сент. 2020 г., в 13:26, Pavel Tupitsyn < >>>> ptupit...@apache.org > >>>> >> > > >> написал(а): >>>> >> > > >>> >>>> >> > > >>> Igniters, >>>> >> > > >>> >>>> >> > > >>> There is a feature request for a thin client Ping operation on >>>> the >>>> >> > user >>>> >> > > >>> list [1]. >>>> >> > > >>> I think that is a good idea - IgniteClient.ping() will be a >>>> >> valuable >>>> >> > > >>> addition. >>>> >> > > >>> >>>> >> > > >>> Any objections? >>>> >> > > >>> >>>> >> > > >>> [1] >>>> >> > > >>> >>>> >> > > >> >>>> >> > > >>>> >> > >>>> >> >>>> >>>>http://apache-ignite-users.70518.x6.nabble.com/Feature-request-method-to-test-active-connection-in-Ignite-thin-client-td33985.html >>>> >> > > >> >>>> >> > > >>>> >> > > >>>> >> > >>>> >> >>>> >>>> >>>> >>>> >> >> >> >>