RFR: 8143121: javax/management/remote/mandatory/loading/MethodResultTest.java fails intermittently

Alexander Kulyakhtin alexander.kulyakhtin at oracle.com
Mon Nov 23 15:00:44 UTC 2015


Hi Daniel,

Thank you very much for your feedback.

I have posted to the group an updated webrev introducing a 3 sec sleep before the next retry. 

Webrev: http://cr.openjdk.java.net/~akulyakh/8143121_02/test/javax/management/remote/mandatory/loading/MethodResultTest.java.udiff.html

Best regards,
Alexander

----- Original Message -----
From: daniel.fuchs at oracle.com
To: alexander.kulyakhtin at oracle.com
Cc: serviceability-dev at openjdk.java.net
Sent: Monday, November 23, 2015 5:51:28 PM GMT +03:00 Iraq
Subject: Re: RFR: 8143121: javax/management/remote/mandatory/loading/MethodResultTest.java fails intermittently

Hi Alexander,

On 23/11/15 13:09, Alexander Kulyakhtin wrote:
> Hi Daniel,
>
> Thank you very much for the review.
>
> I presumed that in such case the jtreg will terminate the test by timeout and so I wanted to avoid any specific delays and counters.
> If it's not safe to presume that, then I'm going to limit the number of retries to 5 times introducing a delay of 3 seconds between the reties, or I can use any other values if there are more preferable values.

I agree that it's usually better to avoid to handcraft
arbitrary timeouts in tests. These have a habit of
coming back and bite you ;-(

If the reason for the connection failure is a race
condition where the server side is not ready yet, then
forcing the client side to sleep will hopefully
make some room for the server side to come up.

What I'm most concerned here is avoiding the busy loop,
as the busy loop could make things worse (rather than
helping).

So your proposed changes sound good - and Shanliang's
too - provided you free up some CPU time for the other
(possibly daemon) threads to complete their work.

best regards,

-- daniel

>
> Best regards,
> Alexander
>
>
>
>
> ----- Original Message -----
> From: daniel.fuchs at oracle.com
> To: alexander.kulyakhtin at oracle.com, serviceability-dev at openjdk.java.net
> Sent: Monday, November 23, 2015 2:32:27 PM GMT +03:00 Iraq
> Subject: Re: RFR: 8143121: javax/management/remote/mandatory/loading/MethodResultTest.java fails intermittently
>
> Hi Alexander,
>
> This looks a bit dangerous to me - it could create a busy loop
> if for some reason the connection can never go through.
>
> I would suggest retrying only once (or retrying a fixed number
> of times) - and possibly introducing a small delay (Thread.sleep)
> before retrying.
>
> best regards,
>
> -- daniel
>
> On 23/11/15 12:19, Alexander Kulyakhtin wrote:
>> Hi,
>>
>> Could you, please, review this small, test-only, change:
>>
>> CR: https://bugs.openjdk.java.net/browse/JDK-8143121
>> Webrev: http://cr.openjdk.java.net/~akulyakh/8143121/test/javax/management/remote/mandatory/loading/MethodResultTest.java.udiff.html
>>
>> The precondition for this test is a JMXConnector having established a successful connection.
>> On some environments the test sometimes can not connect at the first attempt, because the target application is not yet ready.
>> We are changing the test so that it tries to connect again if it gets IOException during the connection.
>>
>> Best regards,
>> Alexander
>>
>



More information about the serviceability-dev mailing list