You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ju...@apache.org on 2013/06/12 10:24:17 UTC
svn commit: r1492108 - in
/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene:
LuceneIndexConstants.java LuceneIndexEditor.java
Author: jukka
Date: Wed Jun 12 08:24:17 2013
New Revision: 1492108
URL: http://svn.apache.org/r1492108
Log:
OAK-860: Streamline the IndexEditor
The Lucene indexer setup should already guarantee that there's only one
active writer at any given time, so there should be no need for locking
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java
Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java?rev=1492108&r1=1492107&r2=1492108&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexConstants.java Wed Jun 12 08:24:17 2013
@@ -47,21 +47,4 @@ public interface LuceneIndexConstants {
String INDEX_PATH = "index";
- /**
- * Lucene writer timeout write lock setting
- */
- int TO_WRITE_LOCK_MS = 50;
-
- /**
- * Controls how many retries should happen when there is a writer lock
- * timeout
- */
- int TO_MAX_RETRIES = 3;
-
- /**
- * Controls how much sleep (ms) should happen when there is a writer lock
- * timeout
- */
- int TO_SLEEP_MS = 30;
-
}
Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java?rev=1492108&r1=1492107&r2=1492108&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditor.java Wed Jun 12 08:24:17 2013
@@ -26,9 +26,9 @@ import static org.apache.jackrabbit.oak.
import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.INCLUDE_PROPERTY_TYPES;
import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.INDEX_DATA_CHILD_NAME;
import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.PERSISTENCE_PATH;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.TO_WRITE_LOCK_MS;
import static org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.VERSION;
import static org.apache.jackrabbit.oak.plugins.index.lucene.TermFactory.newPathTerm;
+import static org.apache.lucene.store.NoLockFactory.getNoLockFactory;
import java.io.File;
import java.io.IOException;
@@ -88,7 +88,6 @@ public class LuceneIndexEditor implement
try {
IndexWriterConfig config = new IndexWriterConfig(VERSION, ANALYZER);
config.setMergeScheduler(new SerialMergeScheduler());
- config.setWriteLockTimeout(TO_WRITE_LOCK_MS);
return config;
} finally {
thread.setContextClassLoader(loader);
@@ -105,7 +104,14 @@ public class LuceneIndexEditor implement
try {
File file = new File(path);
file.mkdirs();
- return FSDirectory.open(file); // TODO: close() is never called
+ // TODO: close() is never called
+ // TODO: no locking used
+ // --> using the FS backend for the index is in any case
+ // troublesome in clustering scenarios and for backup
+ // etc. so instead of fixing these issues we'd better
+ // work on making the in-content index work without
+ // problems (or look at the Solr indexer as alternative)
+ return FSDirectory.open(file, getNoLockFactory());
} catch (IOException e) {
throw new CommitFailedException(
"Lucene", 1, "Failed to open the index in " + path, e);