You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2017/03/15 15:05:54 UTC

svn commit: r1787059 - in /jackrabbit/branches/2.10: ./ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java

Author: mreutegg
Date: Wed Mar 15 15:05:54 2017
New Revision: 1787059

URL: http://svn.apache.org/viewvc?rev=1787059&view=rev
Log:
JCR-4121: ConcurrentModificationException in InternalVersionHistoryImpl.fixLegacy()

Merged revision 1787043 from trunk

Modified:
    jackrabbit/branches/2.10/   (props changed)
    jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java
    jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java

Propchange: jackrabbit/branches/2.10/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Mar 15 15:05:54 2017
@@ -1,4 +1,4 @@
 /jackrabbit/branches/2.12:1776442,1776451,1776500,1776524
 /jackrabbit/branches/JCR-2272:1173165-1176545
 /jackrabbit/sandbox/JCR-2415-lucene-3.0:1060860-1064038
-/jackrabbit/trunk:1709811,1717599,1729382,1732436,1740814-1740815,1751279,1752165,1753226,1758600,1759607,1759782,1759865,1761679,1761909,1762422,1763558,1766398,1771078,1771741,1771939,1771999,1772049,1772444,1772457,1772530,1772544,1773579,1773591,1773745,1774443,1775123,1775132,1775315,1775384,1775414,1775419,1775437,1775444,1775463,1775472-1775473,1775481,1775485,1775496,1775509,1775514,1775613,1775617,1775621,1775624,1775629,1775631-1775632,1775634-1775635,1775637,1775657,1776410,1776414,1776416-1776417,1776421,1779166,1779460,1780208,1786325
+/jackrabbit/trunk:1709811,1717599,1729382,1732436,1740814-1740815,1751279,1752165,1753226,1758600,1759607,1759782,1759865,1761679,1761909,1762422,1763558,1766398,1771078,1771741,1771939,1771999,1772049,1772444,1772457,1772530,1772544,1773579,1773591,1773745,1774443,1775123,1775132,1775315,1775384,1775414,1775419,1775437,1775444,1775463,1775472-1775473,1775481,1775485,1775496,1775509,1775514,1775613,1775617,1775621,1775624,1775629,1775631-1775632,1775634-1775635,1775637,1775657,1776410,1776414,1776416-1776417,1776421,1779166,1779460,1780208,1786325,1787043

Modified: jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java?rev=1787059&r1=1787058&r2=1787059&view=diff
==============================================================================
--- jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java (original)
+++ jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionHistoryImpl.java Wed Mar 15 15:05:54 2017
@@ -167,7 +167,7 @@ class InternalVersionHistoryImpl extends
     // fix legacy
     private void fixLegacy() throws RepositoryException {
         if (rootVersion.getSuccessors().isEmpty()) {
-            for (Name versionName : nameCache.keySet()) {
+            for (Name versionName : getVersionNames()) {
                 InternalVersionImpl v = createVersionInstance(versionName);
                 v.legacyResolveSuccessors();
             }

Modified: jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java?rev=1787059&r1=1787058&r2=1787059&view=diff
==============================================================================
--- jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java (original)
+++ jackrabbit/branches/2.10/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java Wed Mar 15 15:05:54 2017
@@ -441,7 +441,10 @@ class InternalVersionImpl extends Intern
             for (InternalValue value : values) {
                 InternalVersionImpl v = (InternalVersionImpl)
                         versionHistory.getVersion(value.getNodeId());
-                v.internalAddSuccessor(this, false);
+                // version may be null if history is broken
+                if (v != null) {
+                    v.internalAddSuccessor(this, false);
+                }
             }
         }
     }