Description of problem: ----------------------- Noticed the warning messages in glusterd logs after setting an volume option. The warning message is as follows : <snip> [2016-04-11 16:48:34.823961] W [dict.c:1452:dict_get_with_ref] (-->/usr/lib64/glusterfs/3.7.9/xlator/mgmt/glusterd.so(build_shd_graph+0x69) [0x7fdc0c3f3039] -->/lib64/libglusterfs.so.0(dict_get_str_boolean+0x32) [0x7fdc17830fe2] -->/lib64/libglusterfs.so.0(+0x1eba6) [0x7fdc1782eba6] ) 0-dict: dict OR key (graph-check) is NULL [Invalid argument] [2016-04-11 16:48:34.824844] W [dict.c:1452:dict_get_with_ref] (-->/usr/lib64/glusterfs/3.7.9/xlator/mgmt/glusterd.so(build_shd_graph+0x69) [0x7fdc0c3f3039] -->/lib64/libglusterfs.so.0(dict_get_str_boolean+0x32) [0x7fdc17830fe2] -->/lib64/libglusterfs.so.0(+0x1eba6) [0x7fdc1782eba6] ) 0-dict: dict OR key (graph-check) is NULL [Invalid argument] </snip> Version-Release number of selected component (if applicable): ------------------------------------------------------------- RHGS 3.1.3 nightly build ( glusterfs-3.7.9-1.el7rhgs ) How reproducible: ------------------ consistent Steps to Reproduce: ------------------- 1. Create any type of volume 2. Set any volume option on the volume 3. Observe glusterd logs Actual results: --------------- Warning messages seen in glusterd logs Expected results: ----------------- There shouldn't be any warning messages
Below is the snip from Ravishankar ( AFR ) on this issue : <snip> Don't see any recent changes, but the builder (i.e. build_shd_graph()) is dict-getting a "graph-check" key from mod_dict and I see many places in the code where builders are launched via glusterd_create_global_volfile() with NULL dicts. So maybe a null check for dict in build_shd_graph() is sufficient. </snip>
Upstream patch : https://review.gluster.org/16573
downstream patch : https://code.engineering.redhat.com/gerrit/#/c/101310/
Build : 3.8.4-24 Created distribute, replicate and ec volumes and set the volume options for these three types of volume. No warning messages found in the glusterd log. Here is the log percept when the volume option is set. [2017-05-10 07:12:08.168790] I [run.c:191:runner_log] (-->/usr/lib64/glusterfs/3.8.4/xlator/mgmt/glusterd.so(+0xd4b3a) [0x7f82ae02cb3a] -->/usr/lib64/glusterfs/3.8.4/xlator/mgmt/glusterd.so(+0xd45f5) [0x7f82ae02c5f5] -->/lib64/libglusterfs.so.0(runner_log+0x115) [0x7f82b949fd55] ) 0-management: Ran script: /var/lib/glusterd/hooks/1/set/post/S30samba-set.sh --volname=testvol -o cluster.min-free-disk=10% --gd-workdir=/var/lib/glusterd [2017-05-10 07:12:08.176802] I [run.c:191:runner_log] (-->/usr/lib64/glusterfs/3.8.4/xlator/mgmt/glusterd.so(+0xd4b3a) [0x7f82ae02cb3a] -->/usr/lib64/glusterfs/3.8.4/xlator/mgmt/glusterd.so(+0xd45f5) [0x7f82ae02c5f5] -->/lib64/libglusterfs.so.0(runner_log+0x115) [0x7f82b949fd55] ) 0-management: Ran script: /var/lib/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh --volname=testvol -o cluster.min-free-disk=10% --gd-workdir=/var/lib/glusterd Hence marking the bug as verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:2774