RFR (T): 8211211: vmTestbase/metaspace/stressDictionary/StressDictionary.java timeout

Thomas Schatzl thomas.schatzl at oracle.com
Tue Nov 27 11:38:52 UTC 2018


Hi all,

  can I have reviews for this trivial change to the test in the subject
to avoid timeouts due to some metaspace verification being very slow?

This tests creates hundreds/thousands of classes to be unloaded. Class
unloading, and in particular metaspace freeing has some very nasty and
slow verification code (basically O(n^2)).

This problem is particular problematic with CMS with precleaning, which
basically delays remark for 5 seconds (until it times out), during
which the test continues to add more and more metadata that takes very
long to clean out. I.e. that n is rather large.

The other collectors have a much shorter turnaround time, so n is much
smaller, and the slow metaspace verification code is not problematic.

This change fixes the test to disable CMS precleaning, avoiding that n
gets too large.

I filed JDK-8214356 to look into shortening the actual metaspace
verification process.

CR:
https://bugs.openjdk.java.net/browse/JDK-8211211
Webrev:
http://cr.openjdk.java.net/~tschatzl/8211211/webrev/
Testing:
Running the test in CI with CMS enabled (and disabled), now takes as
long as with the other collectors

Thanks,
  Thomas



More information about the hotspot-gc-dev mailing list