Henk Vandenbergh
Java deadlock in Vdbench. No new i/o generated.
Discovered a deadlock in the code that handles the I/O
scheduling and the prioritization of i/o skew between workloads. All
the code around this deadlock has not been changed since vdbench 5.00.
What I think is that the high iops generated during the run's cache hits
(200k), together with the fact that there was only one SD, together with this being a sequential run and therefore only ONE JVM, created so
much thread concurrency (32 threads in this test) that it brought this
problem to light.
If others run into this problem, let me know. I can give you a pre-beta
copy of vdbench 5.02 where all this scheduling and prioritization code
already has been rewritten. The original code has always been a thorn
in my side because of its complexity and this spring I finally had the
time to rewrite it.
If you think you have this problem, then, using a JDK (not a JRE) run
'./vdbench jstack' and send me the output. When confirmed I'll send you
a 5.02 pre-beta.
Henk.
Posted at 04:41PM Aug 07, 2009 by Henk Vandenbergh in Sun | Comments[0]