Red Hat Bugzilla – Bug 426366
perftest stops after random interval when sending large messages
Last modified: 2011-08-12 12:23:11 EDT
Perftest can stop after a random interval (usually between 10 and 200
iterations) when sending large transinent messages on et_virt07. I managed to
see this three times consecutively (each time after stopping and restarting the
broker), but have not been able to reproduce it since then. As tasksets are used
in this configuration, to reproduce exactly a box with 8 cores will be required,
although it is not clear that this has bearing on the issue.
taskset -c 0,1,2,3 ../qpidd -s ~/jrnltest/store/lib/.libs/libbdbstore.so
while taskset -c 6,7 ./perftest --nsubs 1 --npubs 1 --count=10 --qt 4 --size
100000 --durable no -s ; do true ; done
After between 10 and 200 iteration, the client simply stopped. I attach a pstack
of both the broker and client, which was identical in each case which I
observed. In short, all broker threads were idle, while the clinet had one
thread waiting for a notification.
Created attachment 290157 [details]
pstack for perftest and broker taken while condition existed.
I managed to reprocuc the problem without the taskset part of the commands for
both the broker and perftest, this time with 4 publishers and consumers. It can
take a few iterations, though, in this case, 822.
../qpidd -s ~/jrnltest/store/lib/.libs/libbdbstore.so --store-dir tmp
while ./perftest --nsubs 4 --npubs 4 --count=12 --qt 4 --size 100000 --durable
no -s ; do true ; done
Fixed in qpid rev 606176. This was due to a bug in the completion tracking logic.
Fixed in qpidd-0.2-24.el5 and qpidc-0.2-24.el5