[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