RFR: 8026047: [TESTBUG] add regression test for DisableExplicitGC flag

Bengt Rutisson bengt.rutisson at oracle.com
Thu Feb 12 14:07:18 UTC 2015


Hi Michail,

On 11/02/15 16:33, Michail Chernov wrote:
> Hi Bengt,
>
> Test works with all options passed to jtreg during testing ( see line 
> 97         vmOpts.addAll(0, Utils.getVmOptions());). Doesn't need to 
> check all GC's, it will be done during nightly.

Ah. I see that now.

>
> 44     public final static String[] PARALLEL_GC_OPTIONS = 
> {"UseParallelGC", "UseParallelOldGC"};
> Here is defined special options. If define one of these options - will 
> be used other pattern to match output.

Right.

>
> But it seems to me a little bit wrong. I've checked output of GC log 
> with different GCs and ExplicitGCInvokesConcurrent. Message "Full GC 
> (System.gc())" does not appear only in case of using G1 or CMS with 
> ExplicitGCInvokesConcurrent=true. Will fix it.

OK.

My main point was that I think the whole structure of the test is 
different than how we usually write tests that verify the log output. I 
would prefer if the tests look similar. Would you mind re-writing the 
test to look like the other tests.

I much prefer that you explicitly start with the GCs you want to test 
than that you use the WhiteBox API to find out which GC you are running.

I'm having a similar discussion with Dima who recently invented yet 
another way to parse the GC log output from tests. I think it gets very 
hard to read the tests when they do the same thing in different ways.

Thanks,
Bengt
>
> Thanks,
> Michail
> On 11.02.2015 16:15, Bengt Rutisson wrote:
>>
>> Hi Michail,
>>
>> On 11/02/15 13:55, Michail Chernov wrote:
>>> Hi,
>>>
>>> Still hoping for review!
>>
>> Sorry for being so late in looking at this.
>>
>> A couple of questions:
>>
>> Why does the test only test the parallel GC? DisableExplicitGC is 
>> valid for all GCs.
>>
>> What do you think about writing this test similar to other tests that 
>> validate the output from the GC logging? Here's an example:
>>
>> http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/file/566574421b40/test/gc/g1/TestGCLogMessages.java 
>>
>>
>> Thanks,
>> Bengt
>>
>>>
>>> Thanks,
>>> Michail
>>>
>>> On 05.02.2015 21:05, Michail Chernov wrote:
>>>> Hi,
>>>>
>>>> Still waiting for reviews!
>>>>
>>>> Thanks,
>>>> Michail
>>>>
>>>> On 03.02.2015 20:12, Michail Chernov wrote:
>>>>> Hi,
>>>>>
>>>>> Can someone take a look on these changes, please?
>>>>>
>>>>> Thanks,
>>>>> Michail
>>>>>
>>>>> On 30.01.2015 18:33, Michail Chernov wrote:
>>>>>> Hi Leonid,
>>>>>>
>>>>>> Issues were fixed:
>>>>>> http://cr.openjdk.java.net/~eistepan/~mchernov/8026047/webrev.01/
>>>>>>
>>>>>> Now all testcases are executed  from the same VM.
>>>>>>
>>>>>> Thanks,
>>>>>> Michail
>>>>>>
>>>>>> On 28.01.2015 18:28, Leonid Mesnik wrote:
>>>>>>> Hi
>>>>>>>
>>>>>>> Why is it needed to start VM twice for each test. It is very 
>>>>>>> expensive especially for low-end devices.
>>>>>>>
>>>>>>> Is it possible to have driver which starts VM several times with 
>>>>>>> different combinations of options and check it output/exit code 
>>>>>>> etc? Also it would be much easier to read such test.
>>>>>>>
>>>>>>>
>>>>>>> Leonid
>>>>>>>
>>>>>>> On 27.01.2015 18:35, Michail Chernov wrote:
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> Please review the fix with new test for DisableExplicitGC VM flag.
>>>>>>>>
>>>>>>>> Webrev: 
>>>>>>>> http://cr.openjdk.java.net/~eistepan/~mchernov/8026047/webrev.00/
>>>>>>>> Enhancement: https://bugs.openjdk.java.net/browse/JDK-8026047
>>>>>>>>
>>>>>>>> There is one scenario with 6 parameters combinations.
>>>>>>>>
>>>>>>>> 1,2,3 scenarios test default value for DisableExplicitGC, 
>>>>>>>> DisableExplicitGC=true and DisableExplicitGC=false
>>>>>>>> 4,5,6 scenarios check how VM works when VM changes 
>>>>>>>> DisableExplicitGC flag using WhiteBox.
>>>>>>>>
>>>>>>>> Test tries to call System.gc() and check that VM puts message 
>>>>>>>> to stdout. After (in case of 4,5,6 scenarios) test tries to 
>>>>>>>> change DisableExplicitGC value and calls System.gc() twice.
>>>>>>>>
>>>>>>>> Test was executed locally on linux-i586 with all available GC 
>>>>>>>> and several GC-related flags. Also it was executed using Aurora 
>>>>>>>> on other platforms.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Michail
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>
>



More information about the hotspot-gc-dev mailing list