Bug 1207029 - BitRot :- If peer in cluster doesn't have brick then its should not start bitd on that node and should not create partial volume file
Summary: BitRot :- If peer in cluster doesn't have brick then its should not start bit...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: bitrot
Version: mainline
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Satish Mohan
QA Contact: Matt Zywusko
URL:
Whiteboard:
Depends On:
Blocks: qe_tracker_everglades 1218039
TreeView+ depends on / blocked
 
Reported: 2015-03-30 05:53 UTC by Rachana Patel
Modified: 2016-06-16 12:45 UTC (History)
4 users (show)

Fixed In Version: glusterfs-3.8rc2
Clone Of:
: 1218039 1224154 1224229 (view as bug list)
Environment:
Last Closed: 2016-06-16 12:45:56 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Rachana Patel 2015-03-30 05:53:52 UTC
Description of problem:
=======================
when peer doesn't have brick for volume and Admin enables BitRot for that volume, it starts bitd on that node and also generates volume file which is not complete


Version-Release number of selected component (if applicable):
=============================================================
0.803.gitf64666f.el6.x86_64

How reproducible:
=================
always

Steps to Reproduce:
===================
1. create a volume and make sure that one of the peer in cluster doesn't have any bricks on it
2. Enable BitRot for that volume.
3. check peer where brick is not present


[root@rhs-client38 ~]# tail -f /var/log/glusterfs/bitd.log 
[2015-03-26 09:09:06.033443] I [MSGID: 100030] [glusterfsd.c:2288:main] 0-/usr/sbin/glusterfs: Started running /usr/sbin/glusterfs version 3.7dev (args: /usr/sbin/glusterfs -s localhost --volfile-id gluster/bitd -p /var/lib/glusterd/bitd/run/bitd.pid -l /var/log/glusterfs/bitd.log -S /var/run/gluster/38ca86c29620f999da1ff58a74366ae5.socket)
[2015-03-26 09:09:06.045709] I [event-epoll.c:629:event_dispatch_epoll_worker] 0-epoll: Started thread with index 1
[2015-03-26 09:09:06.603114] E [graph.y:365:graphyyerror] 0-parser: syntax error: line 3 (volume 'bit-rot'): "end-volume"
allowed tokens are 'volume', 'type', 'subvolumes', 'option', 'end-volume'()
[2015-03-26 09:09:06.603198] E [MSGID: 100026] [glusterfsd.c:2142:glusterfs_process_volfp] 0-: failed to construct the graph
[2015-03-26 09:09:06.603381] W [glusterfsd.c:1212:cleanup_and_exit] (--> 0-: received signum (0), shutting down


[root@rhs-client38 ~]# cat /var/lib/glusterd/bitd/bitd-server.vol
volume bit-rot
    type features/bit-rot
end-volume


[root@rhs-client38 ~]# ps auxww | grep bitd
root     20690  0.0  0.0 103252   864 pts/2    S+   14:59   0:00 grep bitd

Actual results:
===============
bitd was started and partially created vol file is present

Expected results:
================
It should not start bitd and should not create vol file

Additional info:
================

Comment 2 Anand Avati 2015-03-31 12:11:43 UTC
REVIEW: http://review.gluster.org/10071 (glusterd: bitd daemon should not start on the node which dont have any brick) posted (#1) for review on master by Gaurav Kumar Garg (ggarg)

Comment 3 Anand Avati 2015-04-01 06:27:44 UTC
REVIEW: http://review.gluster.org/10071 (glusterd: bitd daemon should not start on the node which dont have any brick) posted (#2) for review on master by Gaurav Kumar Garg (ggarg)

Comment 4 Anand Avati 2015-04-06 07:26:39 UTC
REVIEW: http://review.gluster.org/10071 (glusterd: bitd daemon should not start on the node which dont have any brick) posted (#3) for review on master by Gaurav Kumar Garg (ggarg)

Comment 5 Anand Avati 2015-04-06 10:16:14 UTC
REVIEW: http://review.gluster.org/10071 (glusterd: bitd daemon should not start on the node which dont have any brick) posted (#4) for review on master by Gaurav Kumar Garg (ggarg)

Comment 6 Anand Avati 2015-04-06 13:17:40 UTC
REVIEW: http://review.gluster.org/10071 (glusterd: bitd daemon should not start on the node which dont have any brick) posted (#5) for review on master by Niels de Vos (ndevos)

Comment 7 Anand Avati 2015-04-07 06:30:59 UTC
REVIEW: http://review.gluster.org/10071 (glusterd: bitd daemon should not start on the node which dont have any brick) posted (#6) for review on master by Gaurav Kumar Garg (ggarg)

Comment 8 Anand Avati 2015-04-09 12:00:02 UTC
REVIEW: http://review.gluster.org/10071 (glusterd: bitd daemon should not start on the node which dont have any brick) posted (#7) for review on master by Gaurav Kumar Garg (ggarg)

Comment 9 Anand Avati 2015-04-10 07:00:29 UTC
REVIEW: http://review.gluster.org/10071 (glusterd: bitd daemon should not start on the node which dont have any brick) posted (#8) for review on master by Gaurav Kumar Garg (ggarg)

Comment 10 Anand Avati 2015-04-10 10:13:49 UTC
COMMIT: http://review.gluster.org/10071 committed in master by Venky Shankar (vshankar) 
------
commit accd61fb64b96c4af47aa6cfa41adb0f2e47a60a
Author: GauravKumarGarg <ggarg>
Date:   Tue Mar 31 16:41:08 2015 +0530

    glusterd: bitd daemon should not start on the node which dont have any brick
    
    If user enable bitrot from node1 which have brick then glusterd starting
    bitd daemon on node1 as well as glusterd starting bitd deamon on another node2
    which does not have any brick (node1 and node2 are part of cluster).
    
    With this fix glusterd will not start bitd daemon on the node which
    don't have brick.
    
    Change-Id: Ic1c68d204221d369d89d628487cdd5957964792e
    BUG: 1207029
    Signed-off-by: Gaurav Kumar Garg <ggarg>
    Reviewed-on: http://review.gluster.org/10071
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Atin Mukherjee <amukherj>
    Reviewed-by: Venky Shankar <vshankar>
    Tested-by: Venky Shankar <vshankar>

Comment 11 Anand Avati 2015-04-15 06:20:06 UTC
REVIEW: http://review.gluster.org/10241 (glusterd: do not pass volinfo in glusterd_svc_manager function) posted (#1) for review on master by Gaurav Kumar Garg (ggarg)

Comment 14 Anand Avati 2015-04-22 12:49:39 UTC
REVIEW: http://review.gluster.org/10241 (glusterd: do not pass volinfo in glusterd_svc_manager function) posted (#2) for review on master by Gaurav Kumar Garg (ggarg)

Comment 15 Anand Avati 2015-04-23 07:03:15 UTC
REVIEW: http://review.gluster.org/10241 (glusterd: do not pass volinfo in glusterd_svc_manager function) posted (#3) for review on master by Gaurav Kumar Garg (ggarg)

Comment 16 Anand Avati 2015-04-25 20:45:20 UTC
REVIEW: http://review.gluster.org/10241 (glusterd: do not pass volinfo in glusterd_svc_manager function) posted (#4) for review on master by Gaurav Kumar Garg (ggarg)

Comment 17 Anand Avati 2015-04-27 06:07:10 UTC
REVIEW: http://review.gluster.org/10241 (glusterd: do not pass volinfo in glusterd_svc_manager function) posted (#5) for review on master by Gaurav Kumar Garg (ggarg)

Comment 18 Anand Avati 2015-04-27 09:38:50 UTC
REVIEW: http://review.gluster.org/10241 (glusterd: do not pass volinfo in glusterd_svc_manager function) posted (#6) for review on master by Gaurav Kumar Garg (ggarg)

Comment 19 Anand Avati 2015-04-30 09:44:05 UTC
COMMIT: http://review.gluster.org/10241 committed in master by Krishnan Parthasarathi (kparthas) 
------
commit 7648c0de36c7927b588abc66734c5b94afb08c00
Author: Gaurav Kumar Garg <ggarg>
Date:   Wed Apr 15 11:37:22 2015 +0530

    glusterd: do not pass volinfo in glusterd_svc_manager function
    
    On restarting of glusterd first it will start all the bricks present
    in the volume then it will start all the services. During starting of
    all the services it may pass volinfo as a NULL. It will cause Assert
    failure in glusterd_bitdsvc_manager function and will cause a glusterd
    crash.
    
    Change-Id: Ia14cf5022da88516cdd576eb2d1e0e7b17a3782b
    BUG: 1207029
    Signed-off-by: Gaurav Kumar Garg <ggarg>
    Reviewed-on: http://review.gluster.org/10241
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Atin Mukherjee <amukherj>
    Reviewed-by: Krishnan Parthasarathi <kparthas>
    Tested-by: Krishnan Parthasarathi <kparthas>

Comment 20 Anand Avati 2015-05-01 07:50:18 UTC
REVIEW: http://review.gluster.org/10481 (glusterd: do not pass volinfo in glusterd_svc_manager function) posted (#1) for review on release-3.7 by Gaurav Kumar Garg (ggarg)

Comment 21 RajeshReddy 2015-05-15 08:24:59 UTC
Tested with build glusterfs-3.7.0beta2, Bitrot is not enabled if brick is not part of volume so closing the bug

Comment 22 Nagaprasad Sathyanarayana 2015-10-25 15:07:01 UTC
Fix for this BZ is already present in a GlusterFS release. You can find clone of this BZ, fixed in a GlusterFS release and closed. Hence closing this mainline BZ as well.

Comment 24 Niels de Vos 2016-06-16 12:45:56 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report.

glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


Note You need to log in before you can comment on or make changes to this bug.