Bug 860599 - DHT - Hash layout for Directory is getting changed when sub-volume is down and user performes rebalance operation, as a result at same level multiple files can be created having same name
DHT - Hash layout for Directory is getting changed when sub-volume is down an...
Status: CLOSED CURRENTRELEASE
Product: Red Hat Gluster Storage
Classification: Red Hat
Component: glusterfs (Show other bugs)
2.0
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Nagaprasad Sathyanarayana
Matt Zywusko
:
Depends On:
Blocks: 860663
  Show dependency treegraph
 
Reported: 2012-09-26 05:24 EDT by Rachana Patel
Modified: 2016-02-17 19:19 EST (History)
8 users (show)

See Also:
Fixed In Version: glusterfs-3.3.0.5rhs-40
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 860663 (view as bug list)
Environment:
Last Closed: 2015-08-10 03:46:19 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
log (313.29 KB, text/x-log)
2012-09-26 05:42 EDT, Rachana Patel
no flags Details
rebalance log (92.71 KB, text/x-log)
2012-09-26 05:43 EDT, Rachana Patel
no flags Details

  None (edit)
Description Rachana Patel 2012-09-26 05:24:11 EDT
Description of problem:


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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
Comment 2 Rachana Patel 2012-09-26 05:42:53 EDT
Created attachment 617484 [details]
log
Comment 3 Rachana Patel 2012-09-26 05:43:35 EDT
Created attachment 617485 [details]
rebalance log
Comment 4 Rachana Patel 2012-09-26 05:50:04 EDT
Description of problem:
DHT - Hash layout for Directory is getting changed when sub-volume is down and user performs rebalance operation, as a result at same level multiple files can be created having same name

Version-Release number of selected component (if applicable):
3.3.0rhs-28.el6rhs.x86_64

How reproducible:
always

Steps to Reproduce:

1. Create a Distributed volume having 3 or more sub-volumes on multiple server and start that volume.

2. Fuse Mount the volume from the client-1 using “mount -t glusterfs  server:/<volume> <client-1_mount_point>”

3. From mount point create some dirs and files inside it. verify has layout for directory/root

[root@Rhs1 t1]# getfattr -d -m . -e hex /home/t1
getfattr: Removing leading '/' from absolute path names
# file: home/t1
security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a686f6d655f726f6f745f743a733000
trusted.gfid=0x00000000000000000000000000000001
trusted.glusterfs.dht=0x0000000100000000aaaaaaaaffffffff
trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c

[root@Rhs2 t1]# getfattr -d -m . -e hex /home/t1
getfattr: Removing leading '/' from absolute path names
# file: home/t1
security.selinux=0x73797374656d5f753a6f626a6563745f723a686f6d655f726f6f745f743a733000
trusted.gfid=0x00000000000000000000000000000001
trusted.glusterfs.dht=0x00000001000000000000000055555554
trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c

[root@Rhs3 t1]# getfattr -d -m . -e hex /home/t1
getfattr: Removing leading '/' from absolute path names
# file: home/t1
security.selinux=0x73797374656d5f753a6f626a6563745f723a686f6d655f726f6f745f743a733000
trusted.gfid=0x00000000000000000000000000000001
trusted.glusterfs.dht=0x000000010000000055555555aaaaaaa9
trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c



4. Bring on of the sub-volume down.

5. Execute rebalance.
gluster volume rebalance <volname> start

6. check the hash layout for directory/root level. It is changed.


[root@Rhs1 t1]# getfattr -d -m . -e hex /home/t1
getfattr: Removing leading '/' from absolute path names
# file: home/t1
security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a686f6d655f726f6f745f743a733000
trusted.gfid=0x00000000000000000000000000000001
trusted.glusterfs.dht=0x0000000100000000000000007ffffffe
trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c

[root@Rhs2 t1]# getfattr -d -m . -e hex /home/t1
getfattr: Removing leading '/' from absolute path names
# file: home/t1
security.selinux=0x73797374656d5f753a6f626a6563745f723a686f6d655f726f6f745f743a733000
trusted.gfid=0x00000000000000000000000000000001
trusted.glusterfs.dht=0x00000001000000007fffffffffffffff
trusted.glusterfs.volume-id=0x0e78545678f542e084fab375a89b813c

7. Now from mount point try to create files which exixts in down sub-vol . Files would be created successfully
8. Bring all the sub-vols up
9. Execute ls command from mount point , multiple files with same name will be present.

[root@client test]# ls
f1   f11  f13  f15  f17  f19  f20  f22  f24  f26  f28  f3   f31  f33  f35  f37  f39  f40  f6  f8
f10  f12  f14  f16  f18  f2   f21  f23  f25  f27  f29  f30  f32  f34  f36  f38  f4   f5   f7  f9
[root@client test]# touch f11
[root@client test]# touch f14
[root@client test]# ls
f1   f11  f12  f14  f15  f17  f19  f20  f22  f24  f26  f28  f3   f31  f33  f35  f37  f39  f40  f6  f8
f10  f11  f13  f14  f16  f18  f2   f21  f23  f25  f27  f29  f30  f32  f34  f36  f38  f4   f5   f7  f9

  
Actual results:
rebalance is fixing directory lay out eventhough one brick/sub-vol is down

Expected results:
rebalance should not fix directory layout when any brick/sub-vol is down
Comment 5 shishir gowda 2012-10-09 06:54:08 EDT
Sent fix for review http://review.gluster.org/#change,4000
Comment 7 Rachana Patel 2012-12-28 05:09:56 EST
verified on 3.3.0.5rhs-40

working as per expectation - not fixing directory layout when any  brick/sub-vol is down hence changing status as verified

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