[Bugs] [Bug 1314641] New: Encrypted rpc clients do not reconnect sometimes

bugzilla at redhat.com bugzilla at redhat.com
Fri Mar 4 06:59:19 UTC 2016


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

            Bug ID: 1314641
           Summary: Encrypted rpc clients do not reconnect sometimes
           Product: GlusterFS
           Version: 3.7.8
         Component: rpc
          Assignee: kaushal at redhat.com
          Reporter: kaushal at redhat.com
                CC: amukherj at redhat.com, bugs at gluster.org
        Depends On: 1313206
            Blocks: 1310740



+++ This bug was initially created as a clone of Bug #1313206 +++

When encryption is enabled on an rpc client, it can sometimes fail to
reconnect.

This happens because, on the first reconnect attempt the underlying transport
is freed if connect fails. Further reconnect attempts will not happen as the
transport doesn't exist anymore.

This can lead to clusters showing inconsistent peer status information, and not
performing correctly when management encryption is enabled.

--- Additional comment from Vijay Bellur on 2016-03-01 13:46:34 IST ---

REVIEW: http://review.gluster.org/13554 (socket: Launch socket_poller only if
connect succeeded) posted (#1) for review on master by Kaushal M
(kaushal at redhat.com)

--- Additional comment from Vijay Bellur on 2016-03-02 21:10:40 IST ---

REVIEW: http://review.gluster.org/13554 (socket: Launch socket_poller only if
connect succeeded) posted (#2) for review on master by Kaushal M
(kaushal at redhat.com)

--- Additional comment from Vijay Bellur on 2016-03-04 10:12:19 IST ---

COMMIT: http://review.gluster.org/13554 committed in master by Raghavendra G
(rgowdapp at redhat.com) 
------
commit d117466422b2fe97390b9ccc7a3c277e7a64285a
Author: Kaushal M <kaushal at redhat.com>
Date:   Tue Mar 1 13:04:03 2016 +0530

    socket: Launch socket_poller only if connect succeeded

    For an encrypted connection, sockect_connect() used to launch
    socket_poller() in it's own thread (ON by default), even if the connect
    failed. This would cause two unrefs to be done on the transport, once in
    socket_poller() and once in socket_connect(), causing the transport to
    be freed and cleaned up. This would cause further reconnect attempts
    from failing as the transport wouldn't be available.

    By starting socket_poller() only if connect succeeded, this is avoided.

    Change-Id: Ie22090dbb1833bdd0f636a76cb3935d766711917
    BUG: 1313206
    Signed-off-by: Kaushal M <kaushal at redhat.com>
    Reviewed-on: http://review.gluster.org/13554
    Smoke: Gluster Build System <jenkins at build.gluster.com>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Raghavendra G <rgowdapp at redhat.com>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1313206
[Bug 1313206] Encrypted rpc clients do not reconnect sometimes
-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=P1FriRU37S&a=cc_unsubscribe


More information about the Bugs mailing list