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 2017/10/25 18:38:16 UTC
svn commit: r1813337 - in /jackrabbit/branches/2.14: ./
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: Wed Oct 25 18:38:16 2017
New Revision: 1813337
URL: http://svn.apache.org/viewvc?rev=1813337&view=rev
Log:
JCR-3929: ConsistencyChecker now deals with empty repositories (ported to 2.14)
(thanks to pacuk.anton@gmail.com for investigating)
Modified:
jackrabbit/branches/2.14/ (props changed)
jackrabbit/branches/2.14/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java
jackrabbit/branches/2.14/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java
Propchange: jackrabbit/branches/2.14/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct 25 18:38:16 2017
@@ -1,3 +1,3 @@
/jackrabbit/branches/JCR-2272:1173165-1176545
/jackrabbit/sandbox/JCR-2415-lucene-3.0:1060860-1064038
-/jackrabbit/trunk:1776907,1776911-1776912,1776914,1776918,1779166,1779460,1779614,1779632,1780208,1780220,1780406,1785225,1786325,1786330,1787043,1787381,1792100,1792105,1792113,1792193,1793315,1793323,1793327,1793332,1793339,1796980,1797209,1797917,1798586,1799429,1799538,1799549,1799575,1800359,1800378,1800752,1802925,1802977,1807234,1807244,1808752,1808754,1809149,1809329,1809624,1811667,1812543,1812634
+/jackrabbit/trunk:1776907,1776911-1776912,1776914,1776918,1779166,1779460,1779614,1779632,1780208,1780220,1780406,1785225,1786325,1786330,1787043,1787381,1792100,1792105,1792113,1792193,1793315,1793323,1793327,1793332,1793339,1796980,1797209,1797917,1798586,1799429,1799538,1799549,1799575,1800359,1800378,1800752,1802925,1802977,1807234,1807244,1808752,1808754,1809149,1809329,1809624,1810108,1811667,1812543,1812634
Modified: jackrabbit/branches/2.14/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.14/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java?rev=1813337&r1=1813336&r2=1813337&view=diff
==============================================================================
--- jackrabbit/branches/2.14/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java (original)
+++ jackrabbit/branches/2.14/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java Wed Oct 25 18:38:16 2017
@@ -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.14/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.14/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java?rev=1813337&r1=1813336&r2=1813337&view=diff
==============================================================================
--- jackrabbit/branches/2.14/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java (original)
+++ jackrabbit/branches/2.14/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/ConsistencyCheckerImplTest.java Wed Oct 25 18:38:16 2017
@@ -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) {
}