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 > > >> > > > > >