You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:46:53 UTC

[sling-org-apache-sling-jcr-classloader] 05/18: SLING-1296 : Potential concurrent modification exception during path creation

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

rombert pushed a commit to annotated tag org.apache.sling.jcr.classloader-3.1.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-classloader.git

commit 533d6c69272fa24ea6608d8004a2e151334ad531
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Jan 19 14:35:40 2010 +0000

    SLING-1296 : Potential concurrent modification exception during path creation
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/classloader@900798 13f79535-47bb-0310-9956-ffa450edef68
---
 .../classloader/internal/DynamicClassLoaderProviderImpl.java  | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java b/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java
index 7befe0d..6b89596 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java
@@ -212,12 +212,19 @@ public class DynamicClassLoaderProviderImpl
                     if (parentNode == null) {
                         parentNode = current;
                     }
-                    current = current.addNode(names[i], "nt:folder");
+                    try {
+                        current.addNode(names[i], "nt:folder");
+                        session.save();
+                    } catch (RepositoryException re) {
+                        // we ignore this as this might be a concurrent modification!
+                        session.refresh(false);
+                    }
+                    current = current.getNode(names[i]);
                 }
             }
 
             if (parentNode != null) {
-                parentNode.save();
+                session.save();
                 return true;
             }
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.