You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2018/06/11 08:42:18 UTC

svn commit: r1833312 - in /jackrabbit/branches/2.8: ./ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java

Author: reschke
Date: Mon Jun 11 08:42:18 2018
New Revision: 1833312

URL: http://svn.apache.org/viewvc?rev=1833312&view=rev
Log:
JCR-3929: ConsistencyChecker now deals with empty repositories (ported to 2.8)

Modified:
    jackrabbit/branches/2.8/   (props changed)
    jackrabbit/branches/2.8/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java
    jackrabbit/branches/2.8/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java

Propchange: jackrabbit/branches/2.8/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 11 08:42:18 2018
@@ -1,3 +1,3 @@
 /jackrabbit/branches/JCR-2272:1173165-1176545
 /jackrabbit/sandbox/JCR-2415-lucene-3.0:1060860-1064038
-/jackrabbit/trunk:1592881,1597717,1597799,1597806,1598035,1598058,1603769,1603934,1609712,1615997,1625561,1627529,1634584,1653275,1667787,1674859,1680757,1709811,1717599,1729382,1730696,1732436,1740814-1740815,1751279,1752165,1758600,1759607,1759782,1759865,1761679,1761909,1762422,1763558,1766398,1771078,1771741,1771939,1771999,1772049,1772343,1772444,1772457,1772530,1772544,1773579,1773591,1773745,1774443,1775657,1779166,1779460,1780208,1786325,1787043,1787381,1792193,1793315,1793323,1793327,1793332,1796980,1797209,1797917,1798586,1799429,1802977,1807234,1807244,1811667,1814831,1817097,1822947,1822950,1826230,1826647,1826940,1826964
+/jackrabbit/trunk:1592881,1597717,1597799,1597806,1598035,1598058,1603769,1603934,1609712,1615997,1625561,1627529,1634584,1653275,1667787,1674859,1680757,1709811,1717599,1729382,1730696,1732436,1740814-1740815,1751279,1752165,1758600,1759607,1759782,1759865,1761679,1761909,1762422,1763558,1766398,1771078,1771741,1771939,1771999,1772049,1772343,1772444,1772457,1772530,1772544,1773579,1773591,1773745,1774443,1775657,1779166,1779460,1780208,1786325,1787043,1787381,1792193,1793315,1793323,1793327,1793332,1796980,1797209,1797917,1798586,1799429,1802977,1807234,1807244,1810108,1811667,1814831,1817097,1822947,1822950,1826230,1826647,1826940,1826964

Modified: jackrabbit/branches/2.8/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.8/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java?rev=1833312&r1=1833311&r2=1833312&view=diff
==============================================================================
--- jackrabbit/branches/2.8/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java (original)
+++ jackrabbit/branches/2.8/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java Mon Jun 11 08:42:18 2018
@@ -243,7 +243,9 @@ public class ConsistencyCheckerImpl {
                     allInfos.putAll(batch);
                 }
 
-                if (pm.exists(lastId)) {
+                if (lastId == null) {
+                    log.info("No nodes exists, skipping");
+                } else if (pm.exists(lastId)) {
                     for (Map.Entry<NodeId, NodeInfo> entry : allInfos.entrySet()) {
                         checkBundleConsistency(entry.getKey(), entry.getValue(), allInfos);
                     }

Modified: jackrabbit/branches/2.8/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.8/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java?rev=1833312&r1=1833311&r2=1833312&view=diff
==============================================================================
--- jackrabbit/branches/2.8/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java (original)
+++ jackrabbit/branches/2.8/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java Mon Jun 11 08:42:18 2018
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.core.data;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -221,6 +222,13 @@ public class ConsistencyCheckerImplTest
         assertTrue("Expected orphan to be modified", listener.changes.isModified(orphanedId));
     }
 
+    public void testEmptyRepo() throws RepositoryException {
+        List<NodePropBundle> t = Collections.emptyList();
+        MockPersistenceManager pm = new MockPersistenceManager(t);
+        ConsistencyCheckerImpl checker = new ConsistencyCheckerImpl(pm, null, null, null);
+        checker.check(null, false);
+    }
+
     public void testDoubleCheckOrphanedNode() throws RepositoryException {
         NodePropBundle orphaned = new NodePropBundle(new NodeId(0, 1));
         orphaned.setParentId(new NodeId(1, 0));
@@ -453,6 +461,11 @@ public class ConsistencyCheckerImplTest
         }
 
         @Override
+        public boolean exists(final NodeId id) {
+            return bundles.containsKey(id);
+        }
+
+        @Override
         protected void evictBundle(final NodeId id) {
         }