Review request: 8004042 : test failed on windows with access error.

David DeHaven david.dehaven at
Fri Dec 7 15:38:34 UTC 2012

> OK, looks pretty good. But....
> One little thing is still bothering me. Suppose we get interrupted from the sleep() and bail out on that basis. If we got to the point where we're sleeping, we must have caught an AccessDeniedException previously. Unfortunately this exception is discarded if we were interrupted. This might lose valuable diagnostic information. So, what do we do with it? How about adding:
>    ie.addSuppressed(cause);
> in the catch InterruptedException clause, before throwing the RuntimeException.

Another good point...

> (There's another issue which is that if there were previous retries, the ADEs from them are thrown away. But maybe we should save that one for another day.)

I had the same thought, but aside from collecting and reporting all of them somehow I'm not sure what could be done about it.

Maybe instead of:
    cause = ade;

    if (cause != null) {
    } else {
        cause = ade;

Then they'll at least all be reported when RuntimeException is thrown.


More information about the core-libs-dev mailing list