[exo-jcr-commits] exo-jcr SVN: r5772 - 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 07:23:34 EST 2012


Author: tolusha
Date: 2012-03-03 07:23:33 -0500 (Sat, 03 Mar 2012)
New Revision: 5772

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 handling during indexing

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-03 11:02:35 UTC (rev 5771)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2012-03-03 12:23:33 UTC (rev 5772)
@@ -1933,12 +1933,22 @@
    private void createIndex(final Queue<Callable<Void>> tasks, final NodeData node, final ItemDataConsumer stateMgr,
       final AtomicLong count, final NodeData nodeData) throws RepositoryException, IOException, InterruptedException
    {
-      NodeData childState = (NodeData)stateMgr.getItemData(nodeData.getIdentifier());
+      NodeData childState = null;
+      try
+      {
+         childState = (NodeData)stateMgr.getItemData(nodeData.getIdentifier());
+      }
+      catch (RepositoryException e)
+      {
+         log.error(
+            "Error indexing subtree " + node.getQPath().getAsString() + ". Check JCR consistency. " + e.getMessage(), e);
+         return;
+      }
 
       if (childState == null)
       {
-         handler.getOnWorkspaceInconsistencyHandler().handleMissingChildNode(
-            new ItemNotFoundException("Child not found "), handler, nodeData.getQPath(), node, nodeData);
+         log.error("Error indexing subtree " + node.getQPath().getAsString() + ". Item not found.");
+         return;
       }
 
       if (nodeData != null)



More information about the exo-jcr-commits mailing list