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:
Embargoed:


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)

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)

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)

Comment 4 Worker Ant 2016-09-08 16:16:08 UTC
COMMIT: http://review.gluster.org/15132 committed in master by Aravinda VK (avishwan) 
------
commit 8a6236e4cfc7bf86e881e5c770a19040a6060ad0
Author: Aravinda VK <avishwan>
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>
    Reviewed-on: http://review.gluster.org/15132
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Smoke: Gluster Build System <jenkins.org>
    Reviewed-by: Kotresh HR <khiremat>

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.