Henk Vandenbergh

Friday Aug 07, 2009

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.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed

Calendar

Feeds

Search

Links

Navigation

Referrers