You are right, Todd. I'll incorporate.
I see that even when TestParallelRead succeeds (rather rarely) on Jenkins its running time is around 14 minutes. While on my linux box it completes in less than 20 seconds.
And in the log attached I see
[junit] 2011-10-24 19:58:35,474 INFO hdfs.TestParallelRead (TestParallelRead.java:runParallelRead(269)) - === Report: 16 threads read 941298 KB (across 1 file(s)) in 550.051s; average 1711.292225629987 KB/s
So the second runParallelRead() is actually running more than 9 minutes (550.051s). Again, on my box it completes in only 2-3 seconds.
Is it possible that because ReadWorker,run() does not catch Error (only Exception) the thread cannot complete?