Created attachment 694
Created replicate volume with replica count. 2 fuse clients, 1 nfs client. 1 fuse client executing sanity script, nfs client executing the sanity script and the other fuse client executing iozone. Added 2 more bricks to the volume thus making it 2x2 distributed replicate setup. enabled quota and profile. nfs client hung. Triggered the self-heal by bringing a brick down and up. This is the statedump. [global.callpool.stack.1.frame.1] ref_count=1 translator=nfs-server complete=0 [global.callpool.stack.1.frame.2] ref_count=0 translator=mirror-replicate-0 complete=0 parent=mirror-dht wind_from=dht_writev wind_to=subvol->fops->writev unwind_to=dht_writev_cbk [global.callpool.stack.1.frame.3] ref_count=1 translator=mirror-dht complete=0 parent=mirror-quota wind_from=quota_writev_helper wind_to=FIRST_CHILD(this)->fops->writev unwind_to=quota_writev_cbk [global.callpool.stack.1.frame.4] ref_count=0 translator=mirror-client-0 complete=1 parent=mirror-replicate-0 wind_from=afr_getxattr wind_to=children[call_child]->fops->getxattr unwind_from=client3_1_getxattr_cbk unwind_to=afr_getxattr_cbk [global.callpool.stack.1.frame.5] ref_count=0 translator=mirror-replicate-0 complete=1 parent=mirror-dht wind_from=dht_getxattr wind_to=subvol->fops->getxattr unwind_from=afr_getxattr_cbk unwind_to=dht_getxattr_cbk
statedump indicates lot of pending frames from replicate. Pranith can you take a look? Assign it back to me in case it is an NFS bug.
CHANGE: http://review.gluster.com/807 (cluster/afr: Fix meta data lock range) merged in master by Vijay Bellur (vijay)
CHANGE: http://review.gluster.com/808 (features/locks: Fix release of locks on disconnect) merged in master by Vijay Bellur (vijay)
CHANGE: http://review.gluster.com/809 (protocol/server: Do connection cleanup if reply fails) merged in master by Vijay Bellur (vijay)
CHANGE: http://review.gluster.com/810 (libglusterfs: set inode path to be NULL in case of errors) merged in master by Vijay Bellur (vijay)
Checked with glsuterfs-3.3.0qa43. Did not find hang.