You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by al...@apache.org on 2012/03/23 13:57:41 UTC
svn commit: r1304323 - in
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query:
OnWorkspaceInconsistency.java lucene/MultiIndex.java
Author: alexparvulescu
Date: Fri Mar 23 12:57:41 2012
New Revision: 1304323
URL: http://svn.apache.org/viewvc?rev=1304323&view=rev
Log:
JCR-3268 Re-index fails on corrupt bundle
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/OnWorkspaceInconsistency.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/OnWorkspaceInconsistency.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/OnWorkspaceInconsistency.java?rev=1304323&r1=1304322&r2=1304323&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/OnWorkspaceInconsistency.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/OnWorkspaceInconsistency.java Fri Mar 23 12:57:41 2012
@@ -161,4 +161,36 @@ public abstract class OnWorkspaceInconsi
NodeState node,
ChildNodeEntry child)
throws ItemStateException, RepositoryException;
+
+ /**
+ * Logs a generic workspace inconsistency error.
+ *
+ * @param exception the exception that was thrown when working on the workspace
+ * @param handler the query handler.
+ * @param path the path of the parent node.
+ * @param node the parent node state.
+ * @param child the child node entry, for which no node state could be
+ * found.
+ * @throws RepositoryException if another error occurs not related to item
+ * state reading.
+ */
+ public void logError(ItemStateException exception, QueryHandler handler,
+ Path path, NodeState node, ChildNodeEntry child)
+ throws RepositoryException {
+ if (log.isErrorEnabled()) {
+ NamePathResolver resolver = new DefaultNamePathResolver(handler
+ .getContext().getNamespaceRegistry());
+ StringBuilder err = new StringBuilder();
+ err.append("Workspace inconsistency error on node ");
+ err.append(resolver.getJCRPath(path));
+ err.append(" (");
+ err.append(node.getNodeId());
+ err.append(") with child ");
+ err.append(resolver.getJCRName(child.getName()));
+ err.append(" (");
+ err.append(child.getId());
+ err.append(").");
+ log.error(err.toString(), exception);
+ }
+ }
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java?rev=1304323&r1=1304322&r2=1304323&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java Fri Mar 23 12:57:41 2012
@@ -1237,6 +1237,10 @@ public class MultiIndex {
} catch (NoSuchItemStateException e) {
handler.getOnWorkspaceInconsistencyHandler().handleMissingChildNode(
e, handler, path, node, child);
+ } catch (ItemStateException e) {
+ // JCR-3268 log bundle corruption and continue
+ handler.getOnWorkspaceInconsistencyHandler().logError(e,
+ handler, childPath, node, child);
}
if (childState != null) {
count = createIndex(childState, childPath, stateMgr, count);