[Bugs] [Bug 1184587] New: rename operation failed on disperse volume with glusterfs 3.6.1

bugzilla at redhat.com bugzilla at redhat.com
Wed Jan 21 18:16:48 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1184587

            Bug ID: 1184587
           Summary: rename operation failed on disperse volume with
                    glusterfs 3.6.1
           Product: GlusterFS
           Version: mainline
         Component: disperse
          Severity: high
          Assignee: bugs at gluster.org
          Reporter: pkarampu at redhat.com
                CC: bugs at gluster.org, gluster-bugs at redhat.com,
                    jiaowopan at gmail.com, mingfan.lu at gmail.com,
                    pkarampu at redhat.com
        Depends On: 1171681



+++ This bug was initially created as a clone of Bug #1171681 +++

Description of problem:

rename operation will failed on disperse volume  servered by Glusterfs 3.6.1

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

glusterfs 3.6.1

How reproducible:


Steps to Reproduce:
1. create a disperse volume with GlusterFs 3.6.1
2. create a file1
3. mv file1  file2  (this operation will fail)

Actual results:

file1 cannot be renamed to file2

Expected results:

file1 will be renamed to file2

Additional info:

------------------about glusterfs version-------------------------------

># /usr/sbin/glusterd -V
glusterfs 3.6.1 built on Nov  7 2014 15:15:48
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2013 Red Hat, Inc. <http://www.redhat.com/>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
It is licensed to you under your choice of the GNU Lesser
General Public License, version 3 or any later version (LGPLv3
or later), or the GNU General Public License, version 2 (GPLv2),
in all cases as published by the Free Software Foundation.

-----------------command to create volume -----------------------------
gluster v create ec-6-2  disperse  6  redundancy  2  
10.23.72.241:/mnt/xfsd/ec-6-2-{0..11}

----------------- volume info  -----------------------------------

Volume Name: ec-6-2
Type: Distributed-Disperse
Volume ID: 7bda8c2f-2a98-4b5f-aab7-b3d652fae622
Status: Started
Number of Bricks: 2 x (4 + 2) = 12
Transport-type: tcp
Bricks:
Brick1: 10.23.72.241:/mnt/xfsd/ec-6-2-0
Brick2: 10.23.72.241:/mnt/xfsd/ec-6-2-1
Brick3: 10.23.72.241:/mnt/xfsd/ec-6-2-2
Brick4: 10.23.72.241:/mnt/xfsd/ec-6-2-3
Brick5: 10.23.72.241:/mnt/xfsd/ec-6-2-4
Brick6: 10.23.72.241:/mnt/xfsd/ec-6-2-5
Brick7: 10.23.72.241:/mnt/xfsd/ec-6-2-6
Brick8: 10.23.72.241:/mnt/xfsd/ec-6-2-7
Brick9: 10.23.72.241:/mnt/xfsd/ec-6-2-8
Brick10: 10.23.72.241:/mnt/xfsd/ec-6-2-9
Brick11: 10.23.72.241:/mnt/xfsd/ec-6-2-10
Brick12: 10.23.72.241:/mnt/xfsd/ec-6-2-11

-----------  some log  (entire log can be found in Attachment ------------

[2014-12-08 11:38:16.799225] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /file2 missing on subvol ec-6-2-disperse-1
[2014-12-08 11:38:16.800420] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /file2 missing on subvol ec-6-2-disperse-1
[2014-12-08 11:38:16.803667] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /file2 missing on subvol ec-6-2-disperse-1
[2014-12-08 11:38:16.804587] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /file2 missing on subvol ec-6-2-disperse-1
[2014-12-08 11:38:16.805538] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /file2 missing on subvol ec-6-2-disperse-1
[2014-12-08 11:38:16.806351] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /file2 missing on subvol ec-6-2-disperse-1
[2014-12-08 11:38:16.807289] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /file2 missing on subvol ec-6-2-disperse-1
[2014-12-08 11:38:16.807779] I [dht-rename.c:1344:dht_rename] 0-ec-6-2-dht:
renaming /file1 (hash=ec-6-2-disperse-1/cache=ec-6-2-disperse-1) => /file2
(hash=ec-6-2-disperse-1/cache=<nul>)
[2014-12-08 11:38:16.808351] E [ec-helpers.c:346:ec_loc_parent]
0-ec-6-2-disperse-1: Invalid loc
[2014-12-08 11:38:16.808578] I [MSGID: 109030]
[dht-rename.c:665:dht_rename_cbk] 0-ec-6-2-dht: /file1: Rename (linkto file) on
ec-6-2-disperse-1 failed, (gfid = 210757b2-0cb1-4a8c-8f19-aeecd7d1a216) 
[Invalid argument]
[2014-12-08 11:38:28.445397] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /cscope.out missing on subvol ec-6-2-disperse-0
[2014-12-08 11:38:28.446342] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /cscope.out missing on subvol ec-6-2-disperse-0
[2014-12-08 11:38:28.447335] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /cscope.out missing on subvol ec-6-2-disperse-0
[2014-12-08 11:38:28.448163] I [dht-common.c:1822:dht_lookup_cbk] 0-ec-6-2-dht:
Entry /cscope.out missing on subvol ec-6-2-disperse-0

--- Additional comment from Pranith Kumar K on 2014-12-09 02:23:49 EST ---

Rename on a non-existing file comes with no-inode because the destination path
doesn't exist. This case is handled as error in ec_loc_parent. That is the
reason for the failure in rename.

--- Additional comment from Pranith Kumar K on 2014-12-09 04:37:58 EST ---

I see that this issue is already fixed in latest master. It doesn't check for
loc->inode presence.

--- Additional comment from Frank Lu on 2014-12-10 02:51:40 EST ---

which commit? I could backport it to my local build.
Thanks Pranith.
(In reply to Pranith Kumar K from comment #2)
> I see that this issue is already fixed in latest master. It doesn't check
> for loc->inode presence.

--- Additional comment from Panpan Feng on 2015-01-21 02:47:49 EST ---

 I have tried  patch  9072, and found that the rename operation will hang ! 
And  the nightly build  glusterfs-3.6.2 beta1-0.55-git443cda3  still face the
same problem.

Volume  info as following:

Volume Name: ec-test
Type: Distributed-Disperse
Volume ID: a77d8bfa-c89a-49bc-a6c7-1690984c6555
Status: Started
Number of Bricks: 2 x (4 + 2) = 12
Transport-type: tcp
Bricks:
Brick1: 10.23.72.229:/mnt/xfsd/ec-test-0
Brick2: 10.23.72.229:/mnt/xfsd/ec-test-1
Brick3: 10.23.72.229:/mnt/xfsd/ec-test-2
Brick4: 10.23.72.229:/mnt/xfsd/ec-test-3
Brick5: 10.23.72.229:/mnt/xfsd/ec-test-4
Brick6: 10.23.72.229:/mnt/xfsd/ec-test-5
Brick7: 10.23.72.229:/mnt/xfsd/ec-test-6
Brick8: 10.23.72.229:/mnt/xfsd/ec-test-7
Brick9: 10.23.72.229:/mnt/xfsd/ec-test-8
Brick10: 10.23.72.229:/mnt/xfsd/ec-test-9
Brick11: 10.23.72.229:/mnt/xfsd/ec-test-10
Brick12: 10.23.72.229:/mnt/xfsd/ec-test-11
Options Reconfigured:
server.allow-insecure: on
features.quota-timeout: 5
features.quota: on

------------------------------------------------
Steps to reproduce:
1. mount -t glusterfs  localhost:ec-test  /mnt/glusterfs/ec-test 
2. cd /mnt/gluster/ec-test
3.  echo "hello" > file1
4.   mv file1  file2


mount log snap view:

[2015-01-16 13:43:46.583860] I [ec.c:195:ec_up] 0-ec-test-disperse-1: Going UP
[2015-01-16 13:43:46.588176] I [fuse-bridge.c:5080:fuse_graph_setup] 0-fuse:
switched to graph 0
[2015-01-16 13:43:46.588303] I
[client-handshake.c:188:client_set_lk_version_cbk] 0-ec-test-client-11: Server
lk version = 1
[2015-01-16 13:43:46.588336] I
[client-handshake.c:188:client_set_lk_version_cbk] 0-ec-test-client-10: Server
lk version = 1
[2015-01-16 13:43:46.588359] I
[client-handshake.c:188:client_set_lk_version_cbk] 0-ec-test-client-7: Server
lk version = 1
[2015-01-16 13:43:46.588374] I
[client-handshake.c:188:client_set_lk_version_cbk] 0-ec-test-client-6: Server
lk version = 1
[2015-01-16 13:43:46.588387] I
[client-handshake.c:188:client_set_lk_version_cbk] 0-ec-test-client-8: Server
lk version = 1
[2015-01-16 13:43:46.588392] I [fuse-bridge.c:4009:fuse_init] 0-glusterfs-fuse:
FUSE inited with protocol versions: glusterfs 7.22 kernel 7.13
[2015-01-16 13:44:03.954295] I [dht-rename.c:1344:dht_rename] 0-ec-test-dht:
renaming /file1 (hash=ec-test-disperse-1/cache=ec-test-disperse-1) => /file2
(hash=ec-test-disperse-1/cache=<nul>)


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1171681
[Bug 1171681] rename operation failed on disperse volume with glusterfs
3.6.1
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list