RFR: JDK-8303742: CompletableFuture.orTimeout leaks if the future completes exceptionally
Alan Bateman
alanb at openjdk.org
Tue Mar 21 11:59:48 UTC 2023
On Tue, 21 Mar 2023 11:02:00 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
>> Improves the stability of the memory leak test for CompletableFuture timeout cancellation by both reducing the count by 50% (which should still be above threshold to trigger given the ample margin set initially) as well as extending the default timeout of the test run.
>
> test/jdk/java/util/concurrent/CompletableFuture/CompletableFutureOrTimeoutExceptionallyTest.java line 28:
>
>> 26: * @bug 8303742
>> 27: * @summary CompletableFuture.orTimeout can leak memory if completed exceptionally
>> 28: * @run junit/othervm/timeout=1000 -Xmx128m CompletableFutureOrTimeoutExceptionallyTest
>
> Hello Viktor, a timeout of 1000 seconds is 16 minutes. This timeout value is then multiplied by the timeout factor (which is a jtreg option) to decide the final timeout. The CI on which this was reported use a timeout factor of 4. So this would translate to a timeout of 64 minutes, which I think is extremely high (although it's just the upper bound).
>
> Perhaps you could increase this timeout to maybe 5 minutes (300 seconds) and run some tests on our CI to see if that is sufficient?
If there isn't any value running this test with a debug build then you could have it skip (`@requires vm.debug == true`) to save resources.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13116#discussion_r1143263858
More information about the core-libs-dev
mailing list