[Bugs] [Bug 1349657] process glusterd set TCP_USER_TIMEOUT failed

bugzilla at redhat.com bugzilla at redhat.com
Thu Jun 23 22:29:40 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1349657



--- Comment #1 from Zhou Zhengping <johnzzpcrystal at gmail.com> ---
Description of problem:
We can see glusterd's error log like this:
2016-06-24 04:34:30.252200] I [MSGID: 106544]
[glusterd.c:155:glusterd_uuid_init] 0-management: retrie
ved UUID: b49bd7b5-9cb5-4e87-8e23-8997bfb9c479
[2016-06-24 04:34:30.275351] I [MSGID: 106498]
[glusterd-handler.c:3644:glusterd_friend_add_from_peerin
fo] 0-management: connect returned 0
[2016-06-24 04:34:30.275494] I [rpc-clnt.c:991:rpc_clnt_connection_init]
0-management: setting frame-ti
meout to 600
[2016-06-24 04:34:30.276462] W [socket.c:979:__socket_keepalive] 0-socket:
failed to set TCP_USER_TIMEO
UT -1000 on socket 13, Invalid argument
[2016-06-24 04:34:30.276527] E [socket.c:3087:socket_connect] 0-management:
Failed to set keep-alive: I
nvalid argument

Additional info:
in linux kernel function do_tcp_setsockopt ,we can see code like this:
       case TCP_USER_TIMEOUT:
                /* Cap the max timeout in ms TCP will retry/retrans
                 * before giving up and aborting (ETIMEDOUT) a connection.
                 */
                if (val < 0) 
                        err = -EINVAL;
                else 
                        icsk->icsk_user_timeout = msecs_to_jiffies(val);
                break;

this code means , the timeout should not be lower than 0.But in function
glusterd_transport_keepalive_options_get, if option
"transport.tcp-user-timeout" not set ,the priv->timout will be -1, it will
cause socksetopt failed.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list