Re: RFR: 8295153: java/util/Base64/TestEncodingDecodingLength.java ran out of memory [v3]
On Wed, 1 May 2024 20:35:10 GMT, Justin Lu wrote: >> 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. > > Justin Lu has updated the pull request incrementally with one additional > commit since the last revision: > > reflect further review LGTM - Marked as reviewed by naoto (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/19036#pullrequestreview-2034493941
Re: RFR: 8295153: java/util/Base64/TestEncodingDecodingLength.java ran out of memory [v3]
On Wed, 1 May 2024 20:35:10 GMT, Justin Lu wrote: >> 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. > > Justin Lu has updated the pull request incrementally with one additional > commit since the last revision: > > reflect further review Marked as reviewed by lancea (Reviewer). - PR Review: https://git.openjdk.org/jdk/pull/19036#pullrequestreview-2034414118
Re: RFR: 8295153: java/util/Base64/TestEncodingDecodingLength.java ran out of memory [v3]
> 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. Justin Lu has updated the pull request incrementally with one additional commit since the last revision: reflect further review - Changes: - all: https://git.openjdk.org/jdk/pull/19036/files - new: https://git.openjdk.org/jdk/pull/19036/files/aa25c9a7..eb1f64ce Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk=19036=02 - incr: https://webrevs.openjdk.org/?repo=jdk=19036=01-02 Stats: 6 lines in 1 file changed: 4 ins; 0 del; 2 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