3 seconds sounds like an awfully long time between retries.  I'd guess that
10ms would be sufficient most of the time for other threads to get around
to doing something, and 100ms for other Java processes.

On Mon, Nov 23, 2015 at 7:00 AM, Alexander Kulyakhtin <
alexander.kulyakh...@oracle.com> wrote:

> 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.fu...@oracle.com
> To: alexander.kulyakh...@oracle.com
> Cc: serviceability-dev@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.fu...@oracle.com
> > To: alexander.kulyakh...@oracle.com, serviceability-dev@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
> >>
> >
>
>

Reply via email to