[Gluster-users] Apache hung tasks still occur with glusterfs 3.2.1
Jiri Lunacek
jiri.lunacek at hosting90.cz
Mon Jun 13 08:48:30 UTC 2011
Hi all.
We have been having problems with hung tasks of apache reading from glusterfs 2-replica volume ever since upgrading to 3.2.0. The problems were identical to those described here: http://gluster.org/pipermail/gluster-users/2011-May/007697.html
Yesterday we updated to 3.2.1.
A good thing is that the hung tasks stopped appearing when gluster is in "intact" operation, i.e. when there are no modifications to the gluster configs at all.
Today we modified some other volume exported by the same cluster (but not sharing anything with the volume used by the apache process). And, once again, two requests of apache reading from glusterfs volume are stuck.
Any help with this issue would be very appreciated as right now we have to nightly-reboot the machine as the processes re stuck in iowait -> unkillable.
I really do not want to go through the downgrade to 3.1.4 since it seems from the mailing list that it may not go exactly smooth. We are exporting millions of files and any large operation on the exported filesystem takes days.
I am attaching tech info on the problem.
client:
Centos 5.6
2.6.18-238.9.1.el5
fuse-2.7.4-8.el5
glusterfs-fuse-3.2.1-1
glusterfs-core-3.2.1-1
servers:
Centos 5.6
2.6.18-194.32.1.el5
fuse-2.7.4-8.el5
glusterfs-fuse-3.2.1-1
glusterfs-core-3.2.1-1
dmesg:
INFO: task httpd:1246 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
httpd D ffff81000101d7a0 0 1246 2394 1247 1191 (NOTLB)
ffff81013ee7dc38 0000000000000082 0000000000000092 ffff81013ee7dcd8
ffff81013ee7dd04 000000000000000a ffff810144d0f7e0 ffff81019fc28100
0000308f8b444727 00000000000014ee ffff810144d0f9c8 000000038006e608
Call Trace:
[<ffffffff8006ec4e>] do_gettimeofday+0x40/0x90
[<ffffffff80028c5a>] sync_page+0x0/0x43
[<ffffffff800637ca>] io_schedule+0x3f/0x67
[<ffffffff80028c98>] sync_page+0x3e/0x43
[<ffffffff8006390e>] __wait_on_bit_lock+0x36/0x66
[<ffffffff8003ff27>] __lock_page+0x5e/0x64
[<ffffffff800a2921>] wake_bit_function+0x0/0x23
[<ffffffff8003fd85>] pagevec_lookup+0x17/0x1e
[<ffffffff800cc666>] invalidate_inode_pages2_range+0x73/0x1bd
[<ffffffff8004fc94>] finish_wait+0x32/0x5d
[<ffffffff884b9798>] :fuse:wait_answer_interruptible+0xb6/0xbd
[<ffffffff800a28f3>] autoremove_wake_function+0x0/0x2e
[<ffffffff8009a485>] recalc_sigpending+0xe/0x25
[<ffffffff8001decc>] sigprocmask+0xb7/0xdb
[<ffffffff884bd456>] :fuse:fuse_finish_open+0x36/0x62
[<ffffffff884bda11>] :fuse:fuse_open_common+0x147/0x158
[<ffffffff884bda22>] :fuse:fuse_open+0x0/0x7
[<ffffffff8001eb99>] __dentry_open+0xd9/0x1dc
[<ffffffff8002766e>] do_filp_open+0x2a/0x38
[<ffffffff8001a061>] do_sys_open+0x44/0xbe
[<ffffffff8005d28d>] tracesys+0xd5/0xe0
INFO: task httpd:1837 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
httpd D ffff810001004420 0 1837 2394 1856 1289 (NOTLB)
ffff81013c6f9c38 0000000000000086 ffff81013c6f9bf8 00000000fffffffe
ffff810170ce7000 000000000000000a ffff81019c0ae7a0 ffffffff80311b60
0000308c0f83d792 0000000000000ec4 ffff81019c0ae988 000000008006e608
Call Trace:
[<ffffffff8006ec4e>] do_gettimeofday+0x40/0x90
[<ffffffff80028c5a>] sync_page+0x0/0x43
[<ffffffff800637ca>] io_schedule+0x3f/0x67
[<ffffffff80028c98>] sync_page+0x3e/0x43
[<ffffffff8006390e>] __wait_on_bit_lock+0x36/0x66
[<ffffffff8003ff27>] __lock_page+0x5e/0x64
[<ffffffff800a2921>] wake_bit_function+0x0/0x23
[<ffffffff8003fd85>] pagevec_lookup+0x17/0x1e
[<ffffffff800cc666>] invalidate_inode_pages2_range+0x73/0x1bd
[<ffffffff8004fc94>] finish_wait+0x32/0x5d
[<ffffffff884b9798>] :fuse:wait_answer_interruptible+0xb6/0xbd
[<ffffffff800a28f3>] autoremove_wake_function+0x0/0x2e
[<ffffffff8009a485>] recalc_sigpending+0xe/0x25
[<ffffffff8001decc>] sigprocmask+0xb7/0xdb
[<ffffffff884bd456>] :fuse:fuse_finish_open+0x36/0x62
[<ffffffff884bda11>] :fuse:fuse_open_common+0x147/0x158
[<ffffffff884bda22>] :fuse:fuse_open+0x0/0x7
[<ffffffff8001eb99>] __dentry_open+0xd9/0x1dc
[<ffffffff8002766e>] do_filp_open+0x2a/0x38
[<ffffffff8001a061>] do_sys_open+0x44/0xbe
[<ffffffff8005d28d>] tracesys+0xd5/0xe0
INFO: task httpd:383 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
httpd D ffff81019fa21100 0 383 2394 534 (NOTLB)
ffff81013e497c08 0000000000000082 ffff810183eb8910 ffffffff884b9219
ffff81019e41c600 0000000000000009 ffff81019b1e2100 ffff81019fa21100
0000308c0e2c2bfb 0000000000016477 ffff81019b1e22e8 000000038006e608
Call Trace:
[<ffffffff884b9219>] :fuse:flush_bg_queue+0x2b/0x48
[<ffffffff8006ec4e>] do_gettimeofday+0x40/0x90
[<ffffffff8005a9f9>] getnstimeofday+0x10/0x28
[<ffffffff80028c5a>] sync_page+0x0/0x43
[<ffffffff800637ca>] io_schedule+0x3f/0x67
[<ffffffff80028c98>] sync_page+0x3e/0x43
[<ffffffff8006390e>] __wait_on_bit_lock+0x36/0x66
[<ffffffff8003ff27>] __lock_page+0x5e/0x64
[<ffffffff800a2921>] wake_bit_function+0x0/0x23
[<ffffffff8000c48d>] do_generic_mapping_read+0x1df/0x359
[<ffffffff8000d279>] file_read_actor+0x0/0x159
[<ffffffff8000c753>] __generic_file_aio_read+0x14c/0x198
[<ffffffff800c8c45>] generic_file_read+0xac/0xc5
[<ffffffff800a28f3>] autoremove_wake_function+0x0/0x2e
[<ffffffff80130778>] selinux_file_permission+0x9f/0xb4
[<ffffffff8000b78d>] vfs_read+0xcb/0x171
[<ffffffff80011d34>] sys_read+0x45/0x6e
[<ffffffff8005d28d>] tracesys+0xd5/0xe0
possibly relevant log messages:
[2011-06-13 09:09:14.985576] W [socket.c:1494:__socket_proto_state_machine] 0-glusterfs: reading from socket failed. Error (Transport endpoint is not connected), peer (81.0.225.122:24007)
[2011-06-13 09:09:25.741055] I [glusterfsd-mgmt.c:637:mgmt_getspec_cbk] 0-: No change in volfile, continuing
[2011-06-13 09:59:00.644130] I [afr-common.c:639:afr_lookup_self_heal_check] 0-isifa1-replicate-0: size differs for /data/foto/thumbs/3140/31409780.jpg
[2011-06-13 09:59:00.644269] I [afr-common.c:801:afr_lookup_done] 0-isifa1-replicate-0: background meta-data data self-heal triggered. path: /data/foto/thumbs/3140/31409780.jpg
[2011-06-13 09:59:00.822524] W [dict.c:437:dict_ref] (-->/opt/glusterfs/3.2.1/lib64/glusterfs/3.2.1/xlator/protocol/client.so(client3_1_fstat_cbk+0x2cb) [0x2aaaab1afa0b] (-->/opt/glusterfs/3.2.1/lib64/glusterfs/3.2.1/xlator/cluster/replicate.so(afr_sh_data_fstat_cbk+0x17d) [0x2aaaab3e4c9d] (-->/opt/glusterfs/3.2.1/lib64/glusterfs/3.2.1/xlator/cluster/replicate.so(afr_sh_data_fix+0x1fc) [0x2aaaab3e493c]))) 0-dict: dict is NULL
[2011-06-13 09:59:00.824323] I [afr-common.c:639:afr_lookup_self_heal_check] 0-isifa1-replicate-0: size differs for /data/foto/thumbs/3140/31409781.jpg
[2011-06-13 09:59:00.824356] I [afr-common.c:801:afr_lookup_done] 0-isifa1-replicate-0: background meta-data data self-heal triggered. path: /data/foto/thumbs/3140/31409781.jpg
[2011-06-13 09:59:00.826494] I [afr-self-heal-common.c:1557:afr_self_heal_completion_cbk] 0-isifa1-replicate-0: background meta-data data self-heal completed on /data/foto/thumbs/3140/31409780.jpg
[2011-06-13 09:59:00.830902] W [dict.c:437:dict_ref] (-->/opt/glusterfs/3.2.1/lib64/glusterfs/3.2.1/xlator/protocol/client.so(client3_1_fstat_cbk+0x2cb) [0x2aaaab1afa0b] (-->/opt/glusterfs/3.2.1/lib64/glusterfs/3.2.1/xlator/cluster/replicate.so(afr_sh_data_fstat_cbk+0x17d) [0x2aaaab3e4c9d] (-->/opt/glusterfs/3.2.1/lib64/glusterfs/3.2.1/xlator/cluster/replicate.so(afr_sh_data_fix+0x1fc) [0x2aaaab3e493c]))) 0-dict: dict is NULL
gluster-server volume config:
volume isifa1-posix
type storage/posix
option directory /mnt/data/isifa1
end-volume
volume isifa1-access-control
type features/access-control
subvolumes isifa1-posix
end-volume
volume isifa1-locks
type features/locks
subvolumes isifa1-access-control
end-volume
volume isifa1-io-threads
type performance/io-threads
subvolumes isifa1-locks
end-volume
volume isifa1-marker
type features/marker
option volume-uuid 39d5c509-ad39-4b24-a272-c33e212cf912
option timestamp-file /etc/glusterd/vols/isifa1/marker.tstamp
option xtime off
option quota off
subvolumes isifa1-io-threads
end-volume
volume /mnt/data/isifa1
type debug/io-stats
option latency-measurement off
option count-fop-hits off
subvolumes isifa1-marker
end-volume
volume isifa1-server
type protocol/server
option transport-type tcp
option auth.addr./mnt/data/isifa1.allow 81.0.225.120,81.0.225.121,81.0.225.90,81.0.225.117,81.0.225.118,82.208.17.113
subvolumes /mnt/data/isifa1
end-volume
gluster-fuse config:
volume isifa1-client-0
type protocol/client
option remote-host isifa-data1
option remote-subvolume /mnt/data/isifa1
option transport-type tcp
end-volume
volume isifa1-client-1
type protocol/client
option remote-host isifa-data2
option remote-subvolume /mnt/data/isifa1
option transport-type tcp
end-volume
volume isifa1-replicate-0
type cluster/replicate
subvolumes isifa1-client-0 isifa1-client-1
end-volume
volume isifa1-write-behind
type performance/write-behind
subvolumes isifa1-replicate-0
end-volume
volume isifa1-read-ahead
type performance/read-ahead
subvolumes isifa1-write-behind
end-volume
volume isifa1-io-cache
type performance/io-cache
subvolumes isifa1-read-ahead
end-volume
volume isifa1-quick-read
type performance/quick-read
subvolumes isifa1-io-cache
end-volume
volume isifa1-stat-prefetch
type performance/stat-prefetch
subvolumes isifa1-quick-read
end-volume
volume isifa1
type debug/io-stats
option latency-measurement off
option count-fop-hits off
subvolumes isifa1-stat-prefetch
end-volume
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-users/attachments/20110613/62729d01/attachment.html>
More information about the Gluster-users
mailing list