[exo-jcr-commits] exo-jcr SVN: r1574 - 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
Tue Jan 26 03:42:43 EST 2010
Author: areshetnyak
Date: 2010-01-26 03:42:43 -0500 (Tue, 26 Jan 2010)
New Revision: 1574
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
Log:
EXOJCR-395 : Add procedding error log on coordinator in SearchIndex if changed coordinator.
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2010-01-26 08:27:18 UTC (rev 1573)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2010-01-26 08:42:43 UTC (rev 1574)
@@ -53,6 +53,7 @@
import org.exoplatform.services.jcr.impl.core.query.ErrorLog;
import org.exoplatform.services.jcr.impl.core.query.ExecutableQuery;
import org.exoplatform.services.jcr.impl.core.query.IndexerIoMode;
+import org.exoplatform.services.jcr.impl.core.query.IndexerIoModeListener;
import org.exoplatform.services.jcr.impl.core.query.QueryHandler;
import org.exoplatform.services.jcr.impl.core.query.QueryHandlerContext;
import org.exoplatform.services.jcr.impl.core.query.SearchIndexConfigurationHelper;
@@ -88,7 +89,7 @@
* Implements a {@link org.apache.jackrabbit.core.query.QueryHandler} using
* Lucene.
*/
-public class SearchIndex extends AbstractQueryHandler
+public class SearchIndex extends AbstractQueryHandler implements IndexerIoModeListener
{
private static final DefaultQueryNodeFactory DEFAULT_QUERY_NODE_FACTORY = new DefaultQueryNodeFactory();
@@ -595,7 +596,8 @@
{
recoverErrorLog(errorLog);
}
-
+
+ modeHandler.addIndexerIoModeListener(this);
}
/**
@@ -2691,4 +2693,28 @@
return new LuceneQueryHits(reader, searcher, query);
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public void onChangeMode(IndexerIoMode mode)
+ {
+ try
+ {
+ if (mode == IndexerIoMode.READ_WRITE)
+ {
+ // reprocess any notfinished notifies;
+ log.info("Proceessing eroor log ...");
+ recoverErrorLog(errorLog);
+ }
+ }
+ catch (IOException e)
+ {
+ log.error("Can not recover error log. On changed mode " + mode , e);
+ }
+ catch (RepositoryException e)
+ {
+ log.error("Can not recover error log.", e);
+ }
+ }
}
More information about the exo-jcr-commits
mailing list