Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1365791 - Geo-rep worker Faulty with OSError: [Errno 21] Is a directory
Summary: Geo-rep worker Faulty with OSError: [Errno 21] Is a directory
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: geo-replication
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Aravinda VK
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1374579 1374580 1374581
TreeView+ depends on / blocked
 
Reported: 2016-08-10 08:41 UTC by Aravinda VK
Modified: 2017-03-06 17:22 UTC (History)
1 user (show)

Fixed In Version: glusterfs-3.10.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1374579 1374580 1374581 (view as bug list)
Environment:
Last Closed: 2017-03-06 17:22:10 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)

Description Aravinda VK 2016-08-10 08:41:27 UTC
Description of problem:
During rename if Source and destination exists with same inode then Geo-rep sends unlink for the source. Geo-rep is failing with EISDIR error during unlink

Traceback (most recent call last):
  File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 113, in worker
    res = getattr(self.obj, rmeth)(*in_data[2:])
  File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 772, in entry_ops
    os.unlink(entry)
OSError: [Errno 21] Is a directory: '.gfid/12711ebf-7fdc-4f4b-9850-2d75581eb452/New folder'

Comment 1 Vijay Bellur 2016-08-10 08:42:33 UTC
REVIEW: http://review.gluster.org/15132 (geo-rep: Handle EISDIR error during Unlink) posted (#1) for review on master by Aravinda VK (avishwan@redhat.com)

Comment 2 Worker Ant 2016-08-25 08:17:56 UTC
REVIEW: http://review.gluster.org/15132 (geo-rep: Handle EISDIR error during Unlink) posted (#2) for review on master by Aravinda VK (avishwan@redhat.com)

Comment 3 Worker Ant 2016-08-29 06:40:13 UTC
REVIEW: http://review.gluster.org/15132 (geo-rep: Handle EISDIR error during Unlink) posted (#3) for review on master by Aravinda VK (avishwan@redhat.com)

Comment 4 Worker Ant 2016-09-08 16:16:08 UTC
COMMIT: http://review.gluster.org/15132 committed in master by Aravinda VK (avishwan@redhat.com) 
------
commit 8a6236e4cfc7bf86e881e5c770a19040a6060ad0
Author: Aravinda VK <avishwan@redhat.com>
Date:   Wed Aug 10 14:02:09 2016 +0530

    geo-rep: Handle EISDIR error during Unlink
    
    During Rename, If Source and Target has same inode then
    Geo-rep unlinks source. But if source is a directory then
    this will fail with below traceback
    
    Traceback (most recent call last):
      File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 113, in worker
        res = getattr(self.obj, rmeth)(*in_data[2:])
      File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 772,
        in entry_ops
        os.unlink(entry)
    OSError: [Errno 21] Is a directory: '.gfid/12711ebf-7fdc-4f4b-9850-2d75581eb
       452/New folder'
    
    With this patch, if EISDIR, rmdir is tried. Logs error in Slave log in case
    of ENOTEMPTY.
    
    BUG: 1365791
    Change-Id: I099af4192adac5125c0a23988ceb6506f91e987f
    Signed-off-by: Aravinda VK <avishwan@redhat.com>
    Reviewed-on: http://review.gluster.org/15132
    NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
    Smoke: Gluster Build System <jenkins@build.gluster.org>
    Reviewed-by: Kotresh HR <khiremat@redhat.com>

Comment 5 Shyamsundar 2017-03-06 17:22:10 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.10.0, please open a new bug report.

glusterfs-3.10.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://lists.gluster.org/pipermail/gluster-users/2017-February/030119.html
[2] https://www.gluster.org/pipermail/gluster-users/


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