RFR: JDK-8303742: CompletableFuture.orTimeout leaks if the future completes exceptionally

Viktor Klang duke at openjdk.org
Tue Mar 21 15:11:42 UTC 2023


On Tue, 21 Mar 2023 11:56:57 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> 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.

@AlanBateman Wouldn't that be `@requires vm.debug == false` ?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/13116#discussion_r1143541565


More information about the core-libs-dev mailing list