[Gluster-devel] glusterfs(3.2.7) hang when making the same dir at the same time
Song
gluster at 163.com
Fri Feb 1 06:37:55 UTC 2013
Most bricks are normal, the output is as following:
[root at h228 ~]# getfattr -d -e hex -m . /xmail/disk1/gfs28/songcl/b83
getfattr: Removing leading '/' from absolute path names
# file: xmail/disk1/gfs28/songcl/b83
trusted.afr.gfs28-client-0=0x000000000000000000000000
trusted.afr.gfs28-client-1=0x000000000000000000000000
trusted.afr.gfs28-client-2=0x000000000000000000000000
trusted.gfid=0xb101a244cfaf4addaea8b7b031423e89
trusted.glusterfs.dht=0x0000000100000000f7777768ffffffff
But, the directory “/xmail/disk1/gfs28/songcl/b83” isn’t existed in two replicates.
By the way, what is the reason such as warning “[2013-01-10 05:46:16.162509] W [dht-common.c:178:dht_lookup_dir_cbk] 0-gfs1-dht: /xmail_dedup/gfs1_000/001/05D: gfid different on gfs1-replicate-87”?
Is it the dir “/xmail_dedup/gfs1_000/001/05D” is created on various glusterfs clients at the same time?
Because gfid is only generated on “fuse_mkdir” function in Fuse-bridge.c.
Thanks.
From: Anand Avati [mailto:anand.avati at gmail.com]
Sent: Friday, February 01, 2013 4:19 AM
To: Song
Cc: Joe Julian; gluster-devel at nongnu.org
Subject: Re: [Gluster-devel] glusterfs(3.2.7) hang when making the same dir at the same time
Can you also give the outputs of "getfattr -d -m . -e hex /backend/dir" from each of the bricks? It will be interesting to know in case there was a gfid mismatch somehow.
Avati
On Thu, Jan 31, 2013 at 1:47 AM, Song <gluster at 163.com> wrote:
Joe,
I test it again, dump related glusterfs info and create a bug report on bugzilla.
https://bugzilla.redhat.com/show_bug.cgi?id=906238
I use "kill -USR1 <hanged glusterfs client process ID>" to dump info and find that "gfs28-replicate-5" maybe be hanged. Then, I dump glusterfsd info of "Brick16: 10.1.10.188:/xmail/disk2/gfs28" and find the "/xmail/disk2/gfs28/songcl/b83/003.txt" is opened two times by "ls -asl /proce/pid/fd" command.
Maybe this file is deadlocked according to corresponding glusterfsd log:
[2013-01-31 13:42:20.927077] T [rpcsvc.c:187:rpcsvc_program_actor] 0-rpc-service: Actor found: GlusterFS 3.2.7 - INODELK
[2013-01-31 13:42:20.927090] T [server-resolve.c:127:resolve_loc_touchup] 0-gfs28-server: return value inode_path 11
[2013-01-31 13:42:20.927104] T [common.c:103:get_domain] 0-posix-locks: Domain gfs28-replicate-5 found
[2013-01-31 13:42:20.927113] T [inodelk.c:218:__lock_inodelk] 0-gfs28-locks: Lock (pid=1059928640) lk-owner:140197382404672 9223372036854775806 - 0 => Blocked
[2013-01-31 13:42:20.927123] T [inodelk.c:486:pl_inode_setlk] 0-gfs28-locks: Lock (pid=1059928640) (lk-owner=140197382404672) 9223372036854775806 - 0 => NOK
[2013-01-31 13:42:20.927132] T [inodelk.c:218:__lock_inodelk] 0-gfs28-locks: Lock (pid=1059928640) lk-owner:140197382404672 9223372036854775806 - 0 => Blocked
[2013-01-31 13:42:20.933429] T [rpcsvc.c:443:rpcsvc_handle_rpc_call] 0-rpcsvc: Client port: 987
For more information, please refer to attachment.
1. PID:6988 is the hanged glusterfs client dump file.
2. PID:31100 is the glusterfsd dump file of "Brick16".
3. 188-xmail-disk2-gfs28.log.splitab is the glusterfsd log of "Brick16".
If you need any other debug information, please tell me.
Thanks very much!
From: Joe Julian [mailto:joe at julianfamily.org]
Sent: Friday, January 25, 2013 12:15 AM
To: Song; gluster-devel at nongnu.org
Subject: Re: [Gluster-devel] glusterfs(3.2.7) hang when making the same dir at the same time
This looks like a support question to me. If you are asking a development question, you might want to use strace or gdb to figure out where the hang is, file a bug report on bugzilla, and submit your patch(es) to gerrit.
Song <gluster at 163.com> wrote:
Hi,
Recently, glusterfs will hang when we do stress testing. To find the reason, we write a test shell script.
We run the test shell on 5 servers at the same time. For a moment, all test programming is hang.
When execute command “cd /xmail/gfs1/scl_test/001”, also hang.
The test shell script:
for((i=1;i<=100;i++));
do
rmdir /xmail/gfs1/scl_test/001
if [ "$?" == "0" ];
then
echo "delete dir success"
fi
mkdir /xmail/gfs1/scl_test/001
if [ "$?" == "0" ];
then
echo "create dir success"
fi
echo "1111" >>/xmail/gfs1/scl_test/001/001.txt
echo "2222" >>/xmail/gfs1/scl_test/001/002.txt
echo "3333" >>/xmail/gfs1/scl_test/001/003.txt
rm -rf /xmail/gfs1/scl_test/001/001.txt
rm -ff /xmail/gfs1/scl_test/001/002.txt
rm -rf /xmail/gfs1/scl_test/001/003.txt
done
“/xmail/gfs1” is native mount point of gluster volume gfs1.
Gluster volume info is as below:
[root at d181 glusterfs]# gluster volume info
Volume Name: gfs1
Type: Distributed-Replicate
Status: Started
Number of Bricks: 30 x 3 = 90
Transport-type: tcp
Please help me, Thanks!
_____
Gluster-devel mailing list
Gluster-devel at nongnu.org
https://lists.nongnu.org/mailman/listinfo/gluster-devel
_______________________________________________
Gluster-devel mailing list
Gluster-devel at nongnu.org
https://lists.nongnu.org/mailman/listinfo/gluster-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20130201/cdeb3ffb/attachment-0001.html>
More information about the Gluster-devel
mailing list