Bug 975346

Summary: afr: gluster volume heal vol-name info healed command is not listing the entries that are healed
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Rahul Hinduja <rhinduja>
Component: replicateAssignee: Pranith Kumar K <pkarampu>
Status: CLOSED WONTFIX QA Contact: Sudhir D <sdharane>
Severity: high Docs Contact:
Priority: medium    
Version: 2.1CC: nsathyan, rhs-bugs, spandura, storage-qa-internal, vbellur
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-11 05:25:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rahul Hinduja 2013-06-18 07:47:58 UTC
Description of problem:
=======================

When executing the command "gluster volume heal vol-name info healed", sometimes it doesnt list the entries that are healed.

Version-Release number of selected component (if applicable):
=============================================================

glusterfs-3.4.0.9rhs-1.el6rhs.x86_64
glusterfs-geo-replication-3.4.0.9rhs-1.el6rhs.x86_64
glusterfs-fuse-3.4.0.9rhs-1.el6rhs.x86_64
glusterfs-rdma-3.4.0.9rhs-1.el6rhs.x86_64
glusterfs-devel-3.4.0.9rhs-1.el6rhs.x86_64
glusterfs-server-3.4.0.9rhs-1.el6rhs.x86_64
glusterfs-debuginfo-3.4.0.9rhs-1.el6rhs.x86_64


How reproducible:
=================
Intermittent

Steps Carried:
==============
1. Created 6*2 server from 4 nodes.
2. Mounted on client (Fuse and NFS)
3. Created directories f and n from fuse mount.
4. cd to f from fuse and cd to n from nfs
5. Created directory test_full_self_heal from f and n 
6. Killed bricks from each replica pair
7. Created files and directories on test_full_self_heal

cd test_full_self_heal ; for i in `seq 1 100` ; do dd if=/dev/input_file of=file.$i bs=1M count=1 ; done ; cd ../

8. Started the volume with force option from server1

"gluster volume start vol-dis-rep force"

9. Once the volume start force is successful, started volume heal using

"gluster volume heal vol-dis-rep"

10. xattrop directory lists no entries, arequal matches, gluster volume heal vol-dis-rep info lists 0 entries

11. gluster volume heal vol-dis-rep info healed lists 0 entries for few replica pair.


Actual results:
===============

Initial volume status

Status of volume: vol-dis-rep
Gluster process						Port	Online	Pid
------------------------------------------------------------------------------
Brick 10.70.36.35:/rhs/brick1/b1			49152	Y	22770
Brick 10.70.36.36:/rhs/brick1/b2			49152	Y	2730
Brick 10.70.36.35:/rhs/brick1/b3			49153	Y	22779
Brick 10.70.36.36:/rhs/brick1/b4			49153	Y	2735
Brick 10.70.36.35:/rhs/brick1/b5			49154	Y	22788
Brick 10.70.36.36:/rhs/brick1/b6			49154	Y	2742
Brick 10.70.36.37:/rhs/brick1/b7			49152	Y	14530
Brick 10.70.36.38:/rhs/brick1/b8			49152	Y	22028
Brick 10.70.36.37:/rhs/brick1/b9			49153	Y	14539
Brick 10.70.36.38:/rhs/brick1/b10			49153	Y	22037
Brick 10.70.36.37:/rhs/brick1/b11			49154	Y	14548
Brick 10.70.36.38:/rhs/brick1/b12			49154	Y	22046
NFS Server on localhost					2049	Y	23955
Self-heal Daemon on localhost				N/A	Y	23435
NFS Server on 1b10e85e-0ecf-418c-a578-b5236cab260c	2049	Y	15546
Self-heal Daemon on 1b10e85e-0ecf-418c-a578-b5236cab260
c							N/A	Y	15098
NFS Server on 41d1e59d-0369-4b1a-8f9a-6b2de09856c9	2049	Y	22495
Self-heal Daemon on 41d1e59d-0369-4b1a-8f9a-6b2de09856c
9							N/A	Y	22065
NFS Server on 9f4323b7-7d7d-4322-96b8-541f1c8def31	2049	Y	4239
Self-heal Daemon on 9f4323b7-7d7d-4322-96b8-541f1c8def3
1							N/A	Y	3126
 


Bricks were killed from each replica pair.

Status of volume: vol-dis-rep
Gluster process						Port	Online	Pid
------------------------------------------------------------------------------
Brick 10.70.36.35:/rhs/brick1/b1			N/A	N	22770
Brick 10.70.36.36:/rhs/brick1/b2			49152	Y	2730
Brick 10.70.36.35:/rhs/brick1/b3			49153	Y	22779
Brick 10.70.36.36:/rhs/brick1/b4			N/A	N	2735
Brick 10.70.36.35:/rhs/brick1/b5			N/A	N	22788
Brick 10.70.36.36:/rhs/brick1/b6			49154	Y	2742
Brick 10.70.36.37:/rhs/brick1/b7			N/A	N	14530
Brick 10.70.36.38:/rhs/brick1/b8			49152	Y	22028
Brick 10.70.36.37:/rhs/brick1/b9			N/A	N	14539
Brick 10.70.36.38:/rhs/brick1/b10			49153	Y	22037
Brick 10.70.36.37:/rhs/brick1/b11			49154	Y	14548
Brick 10.70.36.38:/rhs/brick1/b12			N/A	N	22046
NFS Server on localhost					2049	Y	15546
Self-heal Daemon on localhost				N/A	Y	15098
NFS Server on 7742ebf1-681a-472b-80f6-7ed5f4ac1e10	2049	Y	23955
Self-heal Daemon on 7742ebf1-681a-472b-80f6-7ed5f4ac1e1
0							N/A	Y	23435
NFS Server on 41d1e59d-0369-4b1a-8f9a-6b2de09856c9	2049	Y	22495
Self-heal Daemon on 41d1e59d-0369-4b1a-8f9a-6b2de09856c
9							N/A	Y	22065
NFS Server on 9f4323b7-7d7d-4322-96b8-541f1c8def31	2049	Y	4239
Self-heal Daemon on 9f4323b7-7d7d-4322-96b8-541f1c8def3
1							N/A	Y	3126
 
There are no active volume tasks


Created files and directories from fuse and nfs client.

xattrop directory and info confirms that 

[root@rhs-client11 ~]# gluster volume heal vol-dis-rep info | grep entries
Number of entries: 0
Number of entries: 37
Number of entries: 38
Number of entries: 0
Number of entries: 0
Number of entries: 37
Number of entries: 0
Number of entries: 31
Number of entries: 0
Number of entries: 32
Number of entries: 37
Number of entries: 0
[root@rhs-client11 ~]# 

[root@rhs-client12 ~]# ./brick-verification 
---------------------- Subvolume: 1-----------------------
     38      38    1414
---------------------- Subvolume: 2-----------------------
      0       0       0
---------------------- Subvolume: 3-----------------------
     38      38    1414
[root@rhs-client12 ~]# 

[root@rhs-client12 ~]# cat brick-verification 
echo "---------------------- Subvolume: 1-----------------------"

ls /rhs/brick1/b2/.glusterfs/indices/xattrop/ | wc

sleep 2 

echo "---------------------- Subvolume: 2-----------------------"

ls /rhs/brick1/b4/.glusterfs/indices/xattrop/ | wc

sleep 2

echo "---------------------- Subvolume: 3-----------------------"

ls /rhs/brick1/b6/.glusterfs/indices/xattrop/ | wc

[root@rhs-client12 ~]# 




Once the volume is started and executed command "volume heal vol-name"
=======================================================================

[root@rhs-client12 ~]# ./brick-verification 
---------------------- Subvolume: 1-----------------------
      0       0       0
---------------------- Subvolume: 2-----------------------
      0       0       0
---------------------- Subvolume: 3-----------------------
      0       0       0
[root@rhs-client12 ~]#

[root@rhs-client12 ~]# gluster volume heal vol-dis-rep info | grep entries
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
[root@rhs-client12 ~]# gluster volume heal vol-dis-rep info healed | grep entries
Number of entries: 0
Number of entries: 0
Number of entries: 38
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 31
Number of entries: 0
Number of entries: 32
Number of entries: 37
Number of entries: 0
[root@rhs-client12 ~]# gluster volume heal vol-dis-rep info heal-failed | grep entries
Number of entries: 0
Number of entries: 0
Number of entries: 76
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 74
Number of entries: 0
[root@rhs-client12 ~]# gluster volume heal vol-dis-rep info split-brain | grep entries
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
Number of entries: 0
[root@rhs-client12 ~]# 


Note the entries shown for 1st replica pair it is 0. It should show the entries that are healed. 

arequal matched for each replica pair.

Comment 4 Scott Haines 2013-09-27 17:07:56 UTC
Targeting for 3.0.0 (Denali) release.

Comment 5 Nagaprasad Sathyanarayana 2014-05-06 11:43:39 UTC
Dev ack to 3.0 RHS BZs

Comment 7 spandura 2014-06-11 05:25:03 UTC
The command "gluster volume heal <volume_name> info healed" is not supported anymore from the gluster build : 

"[root@rhs-client11 ~]# gluster --version
glusterfs 3.6.0.15 built on Jun  9 2014 11:03:54"

Refer to bug : https://bugzilla.redhat.com/show_bug.cgi?id=1104486

Hence this bug is not valid anymore. Moving the bug to CLOSED state.