[exo-jcr-commits] exo-jcr SVN: r5754 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene.

do-not-reply at jboss.org do-not-reply at jboss.org
Sat Mar 3 02:12:08 EST 2012


Author: tolusha
Date: 2012-03-03 02:12:07 -0500 (Sat, 03 Mar 2012)
New Revision: 5754

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
Log:
EXOJCR-1778: improved error indexing handling

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2012-03-02 14:52:19 UTC (rev 5753)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2012-03-03 07:12:07 UTC (rev 5754)
@@ -1876,7 +1876,18 @@
          checkVolatileCommit();
       }
 
-      List<NodeData> children = stateMgr.getChildNodesData(node);
+      List<NodeData> children = null;
+      try
+      {
+         children = stateMgr.getChildNodesData(node);
+      }
+      catch (RepositoryException e)
+      {
+         log.error(
+            "Error indexing subtree " + node.getQPath().getAsString() + ". Check JCR consistency. " + e.getMessage(), e);
+         return;
+      }
+
       for (final NodeData nodeData : children)
       {
 
@@ -1923,6 +1934,7 @@
       final AtomicLong count, final NodeData nodeData) throws RepositoryException, IOException, InterruptedException
    {
       NodeData childState = (NodeData)stateMgr.getItemData(nodeData.getIdentifier());
+
       if (childState == null)
       {
          handler.getOnWorkspaceInconsistencyHandler().handleMissingChildNode(



More information about the exo-jcr-commits mailing list