Skip to content

Conversation

@marcphilipp
Copy link
Member

Implementations of HierarchicalTestEngine can now specify which nodes
require the global read lock by overriding the new
Node.isGlobalReadLockRequired() method to return false.

This allows for more fine-grained locks when intermediate container do
not have any behavior of their own and thus do not require even the
global read lock.

Resolves #2982.


I hereby agree to the terms of the JUnit Contributor License Agreement.


Definition of Done

Implementations of `HierarchicalTestEngine` can now specify which nodes
require the global read lock by overriding the new
`Node.isGlobalReadLockRequired()` method to return `false`.

This allows for more fine-grained locks when intermediate container do
not have any behavior of their own and thus do not require even the
global read lock.

Resolves #2982.
@marcphilipp
Copy link
Member Author

@leonard84 I'd also appreciate your opinion, if you have time to take a look.

Copy link
Contributor

@mpkorstanje mpkorstanje left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Tested with the original reproducer and an upgraded Cucumber, now works as intended.

@marcphilipp marcphilipp merged commit 176bc81 into main Oct 29, 2025
16 checks passed
@marcphilipp marcphilipp deleted the marc/2982-global-read-lock-level-override branch October 29, 2025 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Execution mode is needlessly restrictive for containers without execution behavior but with isolated children

3 participants