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

Reply via email to