[14] RFR (S): 8237079: gc/g1/mixedgc/TestLogging.java fails with "Pause Young (Mixed) (G1 Evacuation Pause) not found"

Thomas Schatzl thomas.schatzl at oracle.com
Fri Jan 17 14:11:29 UTC 2020


Hi all,

   can I have reviews for this small test fix to unclutter CI with 
unnecessary failures?

So this attempts test checks the GC cycle, and in the logs this fails 
because for some unknown reason (timing?) we get to-space exhaustion 
and ultimately a full gc which prevents the expected mixed gc.

The problem (demonstrated with an even more heap-reduced test) is that 
with 10m heap, 2 regions are already taken by archive regions, leaving 8 
regions for allocation. Default policy allows g1 to use 4 regions of 
eden straight away, meaning that if the right amount of fragmentation 
occurs, we could expand these 4 eden regions in just a bit more than 4 
destination regions, causing the evacuation failure.

The fix is to limit young gen size so that this situation can not occur 
(verified that max number of regions used is significantly smaller than 
before visually); I added another small fix to not rely on OOME 
exception to trigger the mixed gcs we want to check for.

As I could never locally reproduce the issue with original VM settings, 
I also added a bit more logging to the runs.

I would like to push this into 14 to avoid noise there too as it also 
occurs there.

CR:
https://bugs.openjdk.java.net/browse/JDK-8237079
Webrev:
http://cr.openjdk.java.net/~tschatzl/8237079/webrev
Testing:
4k passed runs with the new test, local testing

Thanks,
   Thomas



More information about the hotspot-gc-dev mailing list