RFR 8078143: java/lang/management/ThreadMXBean/AllThreadIds.java fails intermittently

Jaroslav Bachorik jaroslav.bachorik at oracle.com
Wed May 13 11:46:09 UTC 2015


On 1.5.2015 21:55, Martin Buchholz wrote:
>
>
> On Thu, Apr 30, 2015 at 11:27 AM, Jaroslav Bachorik
> <jaroslav.bachorik at oracle.com <mailto:jaroslav.bachorik at oracle.com>> wrote:
>
>     On 30.4.2015 19:18, Martin Buchholz wrote:
>
>         Tests that sleep can almost always be better written some other way.
>         In this case, I would prefer busy-waiting with timeout until the
>         expected condition becomes true.
>
>
>     The thing is that in case of a real issue with the thread counters we
>     a/ would be busy-waiting till the test times out (using an arbitrary
>     delay is also problematic due to different performance of different
>     machines running with different configurations)
>
>
> Far less problematic (performance-wise and reliability-wise) than the
> fixed sleep.
>
>     b/ would get a rather confusing message about the test timing out at
>     the end
>
>
> You can easily improve the error message.

Well, not that easily. It is not possible to get a notification when 
JTREG decides to timeout the test. So you will get the standard JTREG 
message and that's all.

I was able to modify the test to wait for a given condition and provide 
useful messages in case of mismatch and retry. For the price of an 
increased complexity. On the other hand, the test should be much more 
resilient to timing errors caused by slow setups.

Updated webrev: http://cr.openjdk.java.net/~jbachorik/8078143/webrev.01

Thanks,

-JB-


More information about the serviceability-dev mailing list