[Bugs] [Bug 1467986] possible memory leak in glusterfsd with multiplexing

bugzilla at redhat.com bugzilla at redhat.com
Mon Jul 10 05:07:15 UTC 2017


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



--- Comment #12 from Worker Ant <bugzilla-bot at gluster.org> ---
COMMIT: https://review.gluster.org/17709 committed in master by Pranith Kumar
Karampuri (pkarampu at redhat.com) 
------
commit f2f3d74c835b68ad9ec63ec112870829a823a1fb
Author: Mohammed Rafi KC <rkavunga at redhat.com>
Date:   Thu Jul 6 13:26:42 2017 +0530

    mgtm/core : use sha hash function for volfile check

    We are storing the entire volfile and using this to check
    volfile change. With brick multiplexing there will be lot
    of graphs per process which will increase the memory foot
    print of the process. So instead of storing the entire
    graph we could use sha256 and we can compare the hash to
    see whether volfile change happened or not.

    Also with Brick multiplexing, the direct comparison of vol
    file is not correct. There are two problems.

    Problem 1:

    We are currently storing one single graph (the last
    updated volfile) whereas, what we need is the entire
    graph with all atttached bricks.

    If we fix this issue, we have second problem

    Problem 2:
    With multiplexing we have a graph that contains multiple
    bricks. But what we are checking as part of the reconfigure
    is, comparing the entire graph with one single graph,
    which will always fail.

    Solution:
    We create list in glusterfs_ctx_t that stores sha256 hash
    of individual brick graphs. When a graph changes happens
    we compare the stored hash and the current hash. If the
    hash matches, then no need for reconfigure. Otherwise we
    first do the reconfigure and then update the hash.

    For now, gfapi has not changed this way. Meaning when gfapi
    volfile fetch or reconfigure happens, we still store the
    entire graph and compare, each memory.

    This is fine, because libgfapi will not load brick graphs.
    But changing the libgfapi will make the code similar in
    both glusterfsd-mgmt and api. Also it helps to reduce some
    memory.

    Change-Id: I9df917a771a52b95622ab8f63af34ec390163a77
    BUG: 1467986
    Signed-off-by: Mohammed Rafi KC <rkavunga at redhat.com>
    Reviewed-on: https://review.gluster.org/17709
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu at redhat.com>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: Atin Mukherjee <amukherj at redhat.com>
    Reviewed-by: Amar Tumballi <amarts at redhat.com>

-- 
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=NSVhqDT1yj&a=cc_unsubscribe


More information about the Bugs mailing list