Review request: 8004042 : Arrrghs.java test failed on windows with access error.
Kumar Srinivasan
kumar.x.srinivasan at oracle.com
Fri Dec 7 16:20:11 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;
>
> do:
> if (cause != null) {
> cause.addSuppressed(ade);
> } else {
> cause = ade;
> }
>
> Then they'll at least all be reported when RuntimeException is thrown.
Very good point indeed, how about we also capture/print unconditionally
how many retries were made, this might give us some indication of the
gremlin we are dealing with.
Kumar
>
> -DrD-
>
More information about the core-libs-dev
mailing list