ivandasch commented on a change in pull request #9817:
URL: https://github.com/apache/ignite/pull/9817#discussion_r805698302
##########
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:
I suppose that HeartbetInterval should not be greater than one-third of
IdleTimeout (this is approach from ZookeeperClient).
So logic is:
1. If idleTimeout is greater than 0, and heartbeat interval is not set or
larger than one-third of idle timeout -- set it as one-third of idle timeout.
If hearbtBeatInterval less that one-third of idleTimeout -- use
heartbeatInterval as is
2. If idleTimeout is disabled, use heartbeat interval if it is provided.
Another possible optimization -- do not set ping requests if ordinary
requests are frequent enough
--
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]