ptupitsyn commented on a change in pull request #9817:
URL: https://github.com/apache/ignite/pull/9817#discussion_r805720402
##########
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:
> If idleTimeout is greater than 0, and heartbeat interval is not set --
set it as one-third of idle timeout
This will break potentially desirable behavior: don't enable heartbeats and
actually drop thin clients that become idle.
> Another possible optimization -- do not set ping requests if ordinary
requests are frequent enough
We reset the timer on each write, see
[ClientSocket.cs:854](https://github.com/apache/ignite/pull/9817/files#diff-81a8959836fbee45664e37261770ee4a215e2111c0eddd3535160ef7332232ecR854).
--
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]