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(
Show replies by date