ivandasch commented on a change in pull request #9817:
URL: https://github.com/apache/ignite/pull/9817#discussion_r805913020



##########
File path: 
modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client/ClientSocket.cs
##########
@@ -170,6 +176,29 @@ internal sealed class ClientSocket : IDisposable
 
             _features = Handshake(clientConfiguration, ServerVersion);
 
+            if (_features.HasFeature(ClientBitmaskFeature.Heartbeat) &&
+                clientConfiguration.HeartbeatInterval > TimeSpan.Zero)
+            {
+                _heartbeatInterval = clientConfiguration.HeartbeatInterval;
+
+                var serverIdleTimeout = TimeSpan.FromMilliseconds(
+                    DoOutInOp(ClientOp.GetIdleTimeout, null, r => 
r.Reader.ReadLong()));
+
+                if (_heartbeatInterval > serverIdleTimeout)

Review comment:
       > As a user, I've set idleTimeout on server so that idle client 
connections are closed automatically and resources are not consumed. It is up 
to the clients to reconnect when needed.
   
   Quite confusing desire as for me, cannot imagine that someone would expect 
this behavior. Idle client is the client that doesn't send anything, possibly 
stale, hang or partial dead. As for me, heartbeats is the good mechanism to 
notify that client is not idle, just on pause or probably waiting for some 
tasks. 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to