This is an automated email from the ASF dual-hosted git repository.

sseifert pushed a commit to branch 
feature/SLING-13003-adapter-manager-threading-3.x
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit 4fd82bfc570486b180f55354e1130cd7d531faf4
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 f038591..fae40ed 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