RFR: 8292407: Improve Weak CAS VarHandle/Unsafe tests resilience under spurious failures [v4]
Paul Sandoz
psandoz at openjdk.org
Mon Aug 22 17:46:53 UTC 2022
On Fri, 19 Aug 2022 18:14:16 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> We have a few reports that existing Weak* VarHandle tests are still flaky, for example on large AArch64 machines or small RISC-V machines.
>>
>> The flakiness is intrinsic to the nature of Weak* operations under tests, that can spuriously fail. The last attempt to fix these was [JDK-8155739](https://bugs.openjdk.org/browse/JDK-8155739). We need to strengthen these a bit more.
>>
>> The actual values depend on the successful testing on known-failing platforms. I ballparked bumping the attempts 5x and introducing the delay would help without exploding test time in worst cases.
>
> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:
>
> - Rework timeouts
> - Merge branch 'master' into JDK-8292407-varhandle-weak-resilient
> - Merge branch 'master' into JDK-8292407-varhandle-weak-resilient
> - Update copyrights
> - Also do Unsafe tests
> - Fix
It's awkward to manage this across various hardware, esp. if the hardware is less mature (perhaps combined with a less mature HotSpot implementation). The approach looks reasonable, but it would be nice if we could just increase the retries and waiting values on weak LL/SC hardware or at least follow up with something like that later on.
As a quick experiment could we annotate fields with `@Contended` and see if that reduces the number of retries?
-------------
PR: https://git.openjdk.org/jdk/pull/9889
More information about the core-libs-dev
mailing list