You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2009/08/05 15:31:59 UTC
svn commit: r801226 - in
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene:
MultiIndex.java Recovery.java SearchIndex.java
Author: mreutegg
Date: Wed Aug 5 13:31:59 2009
New Revision: 801226
URL: http://svn.apache.org/viewvc?rev=801226&view=rev
Log:
JCR-2219: Improved background text extraction
- reverting 801135 change
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/MultiIndex.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/Recovery.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
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=801226&r1=801225&r2=801226&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 Wed Aug 5 13:31:59 2009
@@ -436,7 +436,7 @@
// flush whole index when volatile index has been commited.
if (flush) {
- internalFlush();
+ flush();
}
} finally {
synchronized (updateMonitor) {
@@ -781,7 +781,7 @@
log.error("Exception while closing search index.", e);
}
try {
- internalFlush();
+ flush();
} catch (IOException e) {
log.error("Exception while closing search index.", e);
}
@@ -881,33 +881,11 @@
/**
* Flushes this <code>MultiIndex</code>. Persists all pending changes and
- * resets the redo log. When this method returned the {@link #multiReader}
- * is released and and set to <code>null</code>.
- *
- * @throws IOException if the flush fails.
- */
- void flush() throws IOException {
- synchronized (updateMonitor) {
- updateInProgress = true;
- }
- try {
- internalFlush();
- } finally {
- synchronized (updateMonitor) {
- updateInProgress = false;
- updateMonitor.notifyAll();
- releaseMultiReader();
- }
- }
- }
-
- /**
- * Flushes this <code>MultiIndex</code>. Persists all pending changes and
* resets the redo log.
*
* @throws IOException if the flush fails.
*/
- private void internalFlush() throws IOException {
+ void flush() throws IOException {
synchronized (this) {
// commit volatile index
executeAndLog(new Start(Action.INTERNAL_TRANSACTION));
@@ -1176,7 +1154,18 @@
if (redoLog.hasEntries()) {
log.debug("Flushing index after being idle for "
+ idleTime + " ms.");
- flush();
+ synchronized (updateMonitor) {
+ updateInProgress = true;
+ }
+ try {
+ flush();
+ } finally {
+ synchronized (updateMonitor) {
+ updateInProgress = false;
+ updateMonitor.notifyAll();
+ releaseMultiReader();
+ }
+ }
}
} catch (IOException e) {
log.error("Unable to commit volatile index", e);
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/Recovery.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/Recovery.java?rev=801226&r1=801225&r2=801226&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/Recovery.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/Recovery.java Wed Aug 5 13:31:59 2009
@@ -170,5 +170,6 @@
// now we are consistent again -> flush
index.flush();
+ index.releaseMultiReader();
}
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java?rev=801226&r1=801225&r2=801226&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java Wed Aug 5 13:31:59 2009
@@ -755,9 +755,6 @@
try {
index.getIndexingQueue().waitUntilEmpty();
index.flush();
- // flush may have pushed nodes into the indexing queue
- // -> wait again
- index.getIndexingQueue().waitUntilEmpty();
} catch (IOException e) {
throw new RepositoryException("Failed to flush the index", e);
}