[Gluster-devel] Fuse client hangs on doing multithreading IO tests
lengbo at storswift.com
Fri Jun 24 14:32:33 UTC 2016
We found a problem when doing traffic tests. We created a replicated volume with two storage nodes (CentOS 6.5). There was one FUSE client (CentOS 6.7) which did multi-threading reads and writes. Most of IOs are reads for big files. All machines used 10Gbe NICs. And the typical read throught was 4-6Gbps (0.5-1.5GB/s).
After the test ran several minutes, the test program hung. The throughput suddenly dropped to zero. Then there was no traffic any more. If we ran df, df would hang, too. But we could still read or write the volume from other clients.
We tried several GlusterFS version from 3.7.5 to 3.8.0. Each version had this problem. We also tried to restore default GlusterFS options, but the problem still existed.
The GlusterFS version was 3.7.11 for the following stacks.
This was the stack of dd when hanging:
[ffffffffa046d211] wait_answer_interruptible+0x81/0xc0 [fuse]
[ffffffffa046d42b] __fuse_request_send+0x1db/0x2b0 [fuse]
[ffffffffa046d512] fuse_request_send+0x12/0x20 [fuse]
[ffffffffa0477d4a] fuse_statfs+0xda/0x150 [fuse]
This was the stack of gluster:
This was the stack of the test program:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Gluster-devel