RFR: 8295153: java/util/Base64/TestEncodingDecodingLength.java ran out of memory
Justin Lu
jlu at openjdk.org
Wed May 1 16:15:03 UTC 2024
Please review this PR which converts _TestEncodingDecodingLength.java_ into a whitebox test which allows for testing to be done without memory usage issues.
Currently, the test requires about ~2.75 `Integer.MAX_VALUE` sized byte arrays worth of memory. (2 for the initial array allocation, .75 for the target array in `decode()`). While the `-Xms6g -Xmx8g` options should address this, there have been intermittent memory issues, as the underlying machine machine may be running other tests simultaneously.
By converting this test to a white-box test not only does it get rid of memory issues, but it also gets rid of the need to decode 2GB of data 3 times. The change is done using reflection to test the private visibility methods `encodedOutLength` and `decodedOutLength`, which the public `encode` and `decode` overloaded methods call respectively.
-------------
Commit messages:
- init
Changes: https://git.openjdk.org/jdk/pull/19036/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19036&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8295153
Stats: 68 lines in 1 file changed: 32 ins; 9 del; 27 mod
Patch: https://git.openjdk.org/jdk/pull/19036.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19036/head:pull/19036
PR: https://git.openjdk.org/jdk/pull/19036
More information about the core-libs-dev
mailing list