Re: IEP-83 Thin Client Keepalive (heartbeat)

2022-02-15 Thread Maksim Timonin
Hi Ivan, Cases you described sound reasonable to me. Then the client should just set up the `keepAlive` flag, and it just works. So, there are 3 branches: 1. Users don't configure keepAlive at all. 2. Users configure keepAliveHeartbeatInterval (long, ms). 3. Users configure keepAlive (boolean).

Re: IEP-83 Thin Client Keepalive (heartbeat)

2022-02-15 Thread Pavel Tupitsyn
Ivan, I mostly agree with your proposal, except this point: > Response to heartbeat request -- is idle timeout Idle timeout can't change, why send it back with every heartbeat response? > possible cases with cluster restart, upgrade In those cases, a new connection will be established, and we'll

Re: IEP-83 Thin Client Keepalive (heartbeat)

2022-02-15 Thread Ivan Daschinsky
> Idle timeout can't change, why send it back with every heartbeat response? May be I am wrong, but from code I see this behaviour. But if I am wrong, this is ok behaviour for me. вт, 15 февр. 2022 г. в 14:00, Pavel Tupitsyn : > Ivan, I mostly agree with your proposal, except this point: > > >

Ignite 3 Join Protocol

2022-02-15 Thread Alexander Polovtcev
Hello, dear Igniters! We've prepared an IEP about how to assemble a cluster and add new nodes to it in Ignite 3. Please note that some aspects are out of scope of this particular IEP (like the proc

Re: IEP-83 Thin Client Keepalive (heartbeat)

2022-02-15 Thread Ivan Daschinsky
Pavel, sorry, i've made mistake. But current behaviour is ok for me. This timeout cannot be change on server side runtime. But we can simplify protocol just use one opcode and message вт, 15 февр. 2022 г., 14:54 Ivan Daschinsky : > > Idle timeout can't change, why send it back with every heartbea

Re: IEP-83 Thin Client Keepalive (heartbeat)

2022-02-15 Thread Ivan Daschinsky
Let's think about unify two operations Pros. 1. Just one operation. 2. Possibility to change idle timeout in runtime on cluster (using distributed property) Cons. 1. Extra 8 bytes (as for me, it is negligible) As for me, less op_codes and format messages is better. вт, 15 февр. 2022 г. в 16:32,

Re: IEP-83 Thin Client Keepalive (heartbeat)

2022-02-15 Thread Pavel Tupitsyn
To summarize, we add two properties to the ClientConfiguration: bool heartbeatsEnabled = true; long defaultHeartbeatInterval = 60_000; // Default 1 minute, used Logic: if (heartbeatsEnabled) { heartbeatInterval = serverIdleTimeout > 0 ? serverIdleTimeout / 3 : defaultHeartbeatInterval; } Thoug

Re: IEP-83 Thin Client Keepalive (heartbeat)

2022-02-15 Thread Maksim Timonin
What about "keepAlive", "keepAliveInterval" then? It looks more common and matches the IEP title :) On Tue, Feb 15, 2022 at 5:54 PM Pavel Tupitsyn wrote: > To summarize, we add two properties to the ClientConfiguration: > bool heartbeatsEnabled = true; > long defaultHeartbeatInterval = 60_000; /

Re: IEP-83 Thin Client Keepalive (heartbeat)

2022-02-15 Thread Pavel Tupitsyn
> What about "keepAlive", "keepAliveInterval" then? It looks more common and matches the IEP title :) According to Google, HeartbeatInterval has ~169K results, and KeepAliveInterval has ~110K :) In my experience, both are well understood. I am equally willing to use any of them. Any other opinions

Re: IEP-83 Thin Client Keepalive (heartbeat)

2022-02-15 Thread Ivan Daschinsky
I personally prefer heartbeatInterval вт, 15 февр. 2022 г., 18:25 Pavel Tupitsyn : > > What about "keepAlive", "keepAliveInterval" then? It looks more common > and matches the IEP title :) > According to Google, HeartbeatInterval has ~169K results, and > KeepAliveInterval has ~110K :) > > In my e