Bug 1146338 - DHT + NFS mount: nfs mount directory self-heal is not creating directory
Summary: DHT + NFS mount: nfs mount directory self-heal is not creating directory
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: distribute
Version: rhgs-3.0
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: ---
: ---
Assignee: Bug Updates Notification Mailing List
QA Contact: Prasad Desala
URL:
Whiteboard: triaged
Depends On: 1278399
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-09-25 03:33 UTC by Jonathan Holloway
Modified: 2018-02-23 06:59 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-02-23 06:59:26 UTC
Embargoed:


Attachments (Terms of Use)

Description Jonathan Holloway 2014-09-25 03:33:09 UTC
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.

Comment 3 Raghavendra G 2014-09-25 11:25:52 UTC
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.

Comment 4 Raghavendra G 2015-12-30 05:12:03 UTC
similar to bz 1278399

Fixed by:
https://code.engineering.redhat.com/gerrit/#/c/61036/

Fixed in: 3.1.2

Comment 5 Prasad Desala 2016-07-20 07:06:18 UTC
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

Comment 6 krishnaram Karthick 2016-07-20 07:07:03 UTC
Moving the bug to Assigned based on comment#5

Comment 7 Prasad Desala 2016-07-21 06:35:43 UTC
Updating the bug with gluster version...

comment#5 was tested against gluster version 3.7.9-10.


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