Bug 1141558 - AFR : "gluster volume heal <volume_name> info" prints some random characters
Summary: AFR : "gluster volume heal <volume_name> info" prints some random characters
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: replicate
Version: 3.5.3
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Ravishankar N
QA Contact:
URL:
Whiteboard:
Depends On: 1054712
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-09-14 17:15 UTC by Ravishankar N
Modified: 2014-11-21 16:14 UTC (History)
6 users (show)

Fixed In Version: glusterfs-3.5.3
Doc Type: Bug Fix
Doc Text:
Clone Of: 1054712
Environment:
Last Closed: 2014-11-21 16:02:49 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Ravishankar N 2014-09-14 17:15:10 UTC
+++ This bug was initially created as a clone of Bug #1054712 +++

Description of problem:
========================
gluster volume heal info prints random characters.

Steps to recreate:
========================
(1).Create 1x2 replica, turn self-heal daemon off, fuse mount it, kernel untar on the mount.
(2).After untar is complete, perform 'rm -rf' from mount.
(3).While (2) is going on, bring down brick 2 and bring it back up after a couple of seconds.
(4).Execute `gluster v heal <volname> info` . This prints junk characters on brick 1 like so:

���
���
/l1_dir.1/l2_dir.7/l3_dir.11/l4_dir.7/file.27
/l1_dir.1/l2_dir.7/l3_dir.11/l4_dir.7/file.29

RCA:
When the above steps are carried out. indices/xattrop of brick1 contains stale entries (of files/dirs that were removed). In glfsh_process_entries(), syncop_lookup(brick{1..2}) succeeds as the file is present in brick2, but syncop_getxattr(brick1) fails as it is not present on that brick.But we don't check the error value and proceed to print the junk path.

Comment 1 Anand Avati 2014-09-14 17:25:04 UTC
REVIEW: http://review.gluster.org/8711 (heal:Do not ignore return value of syncop_getxattr()) posted (#1) for review on release-3.5 by Ravishankar N (ravishankar)

Comment 2 Anand Avati 2014-09-16 05:46:21 UTC
REVIEW: http://review.gluster.org/8711 (heal:Do not ignore return value of syncop_getxattr()) posted (#2) for review on release-3.5 by Ravishankar N (ravishankar)

Comment 3 Anand Avati 2014-09-23 08:17:01 UTC
COMMIT: http://review.gluster.org/8711 committed in release-3.5 by Niels de Vos (ndevos) 
------
commit 6470b905e2e9e5e3f7a6b1541358b9607efa4b74
Author: Ravishankar N <ravishankar>
Date:   Sun Sep 14 13:46:33 2014 +0000

    heal:Do not ignore return value of syncop_getxattr()
    
    Problem:
    In glfs-heal.c, we are currently ignoring the return value of
    syncop_getxattr() in glfsh_process_entries(). This can cause random characters
    to be printed in the heal-info command when stale entries are present in
    indices/xattrop directory.
    
    Fix:
    Check and purge stale entries instead of printing them, depending on the 'ret'
    value of syncop_getxattr().
    
    Change-Id: I6c87f3ab3fecde48cdbf7578a85782a1d2f1d55b
    BUG: 1141558
    Signed-off-by: Ravishankar N <ravishankar>
    Reviewed-on: http://review.gluster.org/8711
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    Reviewed-by: Niels de Vos <ndevos>

Comment 4 Niels de Vos 2014-10-05 13:00:11 UTC
The first (and last?) Beta for GlusterFS 3.5.3 has been released [1]. Please verify if the release solves this bug report for you. In case the glusterfs-3.5.3beta1 release does not have a resolution for this issue, leave a comment in this bug and move the status to ASSIGNED. If this release fixes the problem for you, leave a note and change the status to VERIFIED.

Packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update (possibly an "updates-testing" repository) infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-October/018990.html
[2] http://supercolony.gluster.org/pipermail/gluster-users/

Comment 5 Niels de Vos 2014-11-05 09:24:50 UTC
The second Beta for GlusterFS 3.5.3 has been released [1]. Please verify if the release solves this bug report for you. In case the glusterfs-3.5.3beta2 release does not have a resolution for this issue, leave a comment in this bug and move the status to ASSIGNED. If this release fixes the problem for you, leave a note and change the status to VERIFIED.

Packages for several distributions have been made available on [2] to make testing easier.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-November/019359.html
[2] http://download.gluster.org/pub/gluster/glusterfs/qa-releases/3.5.3beta2/

Comment 6 Niels de Vos 2014-11-21 16:02:49 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.5.3, please reopen this bug report.

glusterfs-3.5.3 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://supercolony.gluster.org/pipermail/announce/2014-November/000042.html
[2] http://supercolony.gluster.org/pipermail/gluster-users/


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