[Gluster-users] [Gluster-devel] decoupling network.ping-timeout and transport.tcp-user-timeout
Raghavendra G
raghavendra at gluster.com
Wed Mar 1 04:31:40 UTC 2017
There is a patch on this [1]. Reviews from wider audience will be helpful,
before we merge the patch.
https://review.gluster.org/#/c/16731/
regards,
Raghavendra
On Wed, Jan 11, 2017 at 4:19 PM, Milind Changire <mchangir at redhat.com>
wrote:
> +gluster-users
>
> Milind
>
>
> On 01/11/2017 03:21 PM, Milind Changire wrote:
>
>> The management connection uses network.ping-timeout to time out and
>> retry connection to a different server if the existing connection
>> end-point is unreachable from the client.
>> Due to the nature of the parameters involved in the TCP/IP network
>> stack, it becomes imperative to control the other network connections
>> using the socket level tunables:
>> * SO_KEEPALIVE
>> * TCP_KEEPIDLE
>> * TCP_KEEPINTVL
>> * TCP_KEEPCNT
>>
>> So, I'd like to decouple the network.ping-timeout and
>> transport.tcp-user-timeout since they are tunables for different
>> aspects of gluster application. network-ping-timeout monitors the
>> brick/node level responsiveness and transport.tcp-user-timeout is one
>> of the attributes that is used to manage the state of the socket.
>>
>> Saying so, we could do away with network.ping-timeout altogether and
>> stick with transport.tcp-user-timeout for types of sockets. It becomes
>> increasingly difficult to work with different tunables across gluster.
>>
>> I believe, there have not been many cases in which the community has
>> found the existing defaults for socket timeout unusable. So we could
>> stick with the system defaults and add the following socket level
>> tunables and make them open for configuration:
>> * client.tcp-user-timeout
>> which sets transport.tcp-user-timeout
>> * client.keepalive-time
>> which sets transport.socket.keepalive-time
>> * client.keepalive-interval
>> which sets transport.socket.keepalive-interval
>> * client.keepalive-count
>> which sets transport.socket.keepalive-count
>> * server.tcp-user-timeout
>> which sets transport.tcp-user-timeout
>> * server.keepalive-time
>> which sets transport.socket.keepalive-time
>> * server.keepalive-interval
>> which sets transport.socket.keepalive-interval
>> * server.keepalive-count
>> which sets transport.socket.keepalive-count
>>
>> However, these settings would effect all sockets in gluster.
>> In cases where aggressive timeouts are needed, the community can find
>> gluster options which have 1:1 mapping with socket level options as
>> documented in tcp(7).
>>
>> Please share your thoughts about the risks or effectiveness of the
>> decoupling.
>>
>> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-devel
>
--
Raghavendra G
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-users/attachments/20170301/8549b92c/attachment.html>
More information about the Gluster-users
mailing list