This is an automated email from the ASF dual-hosted git repository. sseifert pushed a commit to branch feature/SLING-13003-adapter-manager-threading in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git
commit 2d5422a0b83ab3c5fe90b36dda5395053ef4e16e Author: Stefan Seifert <[email protected]> AuthorDate: Fri Nov 14 14:40:12 2025 +0100 SLING-13003 Fix threading issue in ThreadsafeMockAdapterManagerWrapper --- .../testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java b/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java index 4b8e991..52e085d 100644 --- a/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java +++ b/core/src/main/java/org/apache/sling/testing/mock/sling/ThreadsafeMockAdapterManagerWrapper.java @@ -44,6 +44,14 @@ class ThreadsafeMockAdapterManagerWrapper implements AdapterManager { protected AdapterManagerBundleContextFactory initialValue() { return new AdapterManagerBundleContextFactory(); } + + @Override + protected AdapterManagerBundleContextFactory childValue( + AdapterManagerBundleContextFactory parentValue) { + // Create a new instance for child threads instead of sharing the parent's instance + // This prevents race conditions when parent and child threads have different lifecycles + return new AdapterManagerBundleContextFactory(); + } }; @Override
