Description of problem: Distributed volume mounted via NFS. While brick is offline, a created directory (hashing to an online sub-volume) does not get created on offline sub-volume when brought online. Version-Release number of selected component (if applicable): glusterfs-3.6.0.28-1.el6rhs.x86_64 glusterfs-3.6.0.29-1.el6rhs.x86_64 client system running RHEL6.5 How reproducible: Every time Steps to Reproduce: 1. Create a Distributed volume with 5 bricks 2. NFS mount the volume 3. Bring down a sub-volume by killing the process on that server. 4. On mountpoint, create directory hashing to online sub-volume. 5. Bring up the previously downed sub-volume. 6. Execute lookup on parent directory of <dir> from mount point Actual results: Directory is not created on restarted sub-volume Expected results: Directory is created on restarted sub-volume Additional info: Directory is created successfully when steps are reproduced on FUSE mount.
As a work around doing a lookup on the path from fuse-mount will create the directory on bricks. After this one shouldn't see any errors while accessing the directory from NFS mount.
similar to bz 1278399 Fixed by: https://code.engineering.redhat.com/gerrit/#/c/61036/ Fixed in: 3.1.2
Steps that were performed: ============================ 1) created a distributed volume with 4 bricks. 2) NFS mounted the volume. 3) Brought down a sub-volume by killing its process. 4) On mountpoint, created a directory named "test_dist_nfs". The director was not created on the sub-volume that was brought down. Later, brought up the sub-volume and executed lookup on the mounted volume directory. Self-heal did not happen and the director was not created on the restarted volume. Later, created few files on the NFS mounted directory and observed that, directory "test_dist_nsf" was created on the restarted sub-volume however the hash range and files were not present. output snippets: ================= [root@dhcp41-170 dir0]# getfattr -d -e hex -m . /bricks/brick3/dir0/test_dist_nfs/ getfattr: Removing leading '/' from absolute path names # file: bricks/brick3/dir0/test_dist_nfs/ security.selinux=0x73797374656d5f753a6f626a6563745f723a756e6c6162656c65645f743a733000 trusted.gfid=0xf8d4bb6da88a4d1fa65e1efeb7ae9971 trusted.glusterfs.dht=0x00000000000000000000000000000000 gluster volume status: ======================= [root@dhcp41-170 dir0]# gluster volume status Status of volume: dist_vol Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick 10.70.41.170:/bricks/brick3/dir0 49153 0 Y 24657 Brick 10.70.42.171:/bricks/brick3/dir0 49153 0 Y 26085 Brick 10.70.42.239:/bricks/brick3/dir0 49153 0 Y 29081 Brick 10.70.42.238:/bricks/brick3/dir0 49153 0 Y 29910 NFS Server on localhost 2049 0 Y 24678 NFS Server on 10.70.42.239 2049 0 Y 29357 NFS Server on 10.70.42.238 2049 0 Y 30212 NFS Server on dhcp42-171.lab.eng.blr.redhat .com 2049 0 Y 26359 Task Status of Volume dist_vol ------------------------------------------------------------------------------ There are no active volume tasks [root@dhcp41-170 dir0]# ll /bricks/brick3/dir0/test_dist_nfs/ total 0
Moving the bug to Assigned based on comment#5
Updating the bug with gluster version... comment#5 was tested against gluster version 3.7.9-10.