RFR: JDK-8206013: vmTestbase/nsk tests should have /timeout configured
Chris Plummer
chris.plummer at oracle.com
Fri Jul 13 22:30:08 UTC 2018
Hi Gary,
I wasn't suggesting a shorter waittime to speed up the tests. It's just
another (of many) timeout related parameters use to detect (what should
be very uncommon) timeout failures sooner. I guess in that case it does
make the test faster in cases where it does timeout.
So one question is how much do we care about timeout performance? If not
at all (we think the timeout is very rare, if ever), we'd just do a
something like a 1h timeout and forget about it. However, historically
that is not the approach we have taken. jtreg is given a fairly short
timeout of 2m, multiplied to account for platform performance.
So while I understand it doesn't make sense to have the waittime be
longer than the (adjusted) jtreg timeout (we'd always hit the jtreg
timeout first), I don't think that implies we should make the jtreg
timeout longer. Maybe we should make the waittime shorter. In any case,
with the current timeoutFactor in place, it's already the case that the
jtreg timeout is longer than waittime. So I'm not sure why you feel the
need to make the jtreg timeout longer, unless the test is hitting the
jtreg timeout already.
And another thought that just came to me. Timeouts can also serve the
purpose of detecting bugs. If the test author decides the test should
finish in 1m, and someone bumps the timeout to 10m, that might make a
performance bug introduced in the future go unnoticed. In general I
don't think we should increase the timeout for tests that are not
currently timing out. For ones that are, first see if there is a
performance related issue.
Chris
On 7/13/18 2:36 PM, gary.adams at oracle.com wrote:
> We know that the default jtreg timeout is 2 minutes and typically
> runs with a timeoutfactor of 4 or 10. So the harness "safety net"
> is 8 to 20 minutes from jtreg.
>
> It does appear that most of the vmTestbase tests use a 5 minute
> waittime. I have seen waittime used in different ways. The one we
> saw most recently was waiting for a specific reply that was taking
> upwords of 7 minutes handling method exclude filtering. e.g.
> 600K methods on solaris-sparcv9-debug
>
> I've seen other tests using waittime as a total test timeout.
>
> The jtreg timeout factor has not been applied to the vmTestbase waitime.
> The tests have been quickly ported so they can run under jtreg
> harness, but have not been converted to use the all the jtreg features.
>
> The purpose of this specific fix is to prevent jtreg from an early
> termination at 2 minutes or 8 minutes, when the original waittime
> allows for 5 minutes.
>
> Reducing waittime will not speed up the tests. It would probably
> introduce
> more intermittent timeout reports.
>
> On 7/13/18 4:21 PM, Chris Plummer wrote:
>> Hi Gary,
>>
>> It looks like you have properly added timeout=300 wherever we use
>> -waittime:5. However, I'm not 100% convinced this is always the right
>> approach. In the bug description you said that -waittime is used as a
>> timeout for individual operations. However, there could be multiple
>> of those operations, and they could in sum exceed the 300 second
>> jtreg timeout you added.
>>
>> What is the default for -waittime? I'm also guessing that the initial
>> application of -waittime was never really tuned to the specific tests
>> and just cloned across most of them. It seems every test either needs
>> 5m or the default, which doesn't really make much sense. If 5m was
>> really needed, we should have seen a lot of failures when ported to
>> jtreg, but as far as I know the only reason this issue got on your
>> radar was due to exclude001 needing 7m. Maybe rather than adding
>> timeout=300 you should change -waitime to 2m, since other than
>> exclude001, none of the tests seem to need more than 2m.
>>
>> Lastly, does timeoutFactor impact -waittime? It seems it should be
>> applied to it also. I'm not sure if it is.
>>
>> thanks,
>>
>> Chris
>>
>> On 7/13/18 4:29 AM, Gary Adams wrote:
>>> This is a simple update to set the jtreg timeout to match the
>>> internal waittime already being used by these vmTestbase/nsk/jdb tests.
>>>
>>> Issue: https://bugs.openjdk.java.net/browse/JDK-8206013
>>> Webrev: http://cr.openjdk.java.net/~gadams/8206013/webrev.00/
>>
>>
>>
>
More information about the serviceability-dev
mailing list