Index: lucene/contrib/misc/src/test/org/apache/lucene/index/TestNRTManager.java =================================================================== --- lucene/contrib/misc/src/test/org/apache/lucene/index/TestNRTManager.java (revision 1139215) +++ lucene/contrib/misc/src/test/org/apache/lucene/index/TestNRTManager.java (working copy) @@ -159,9 +159,7 @@ System.out.println("TEST: wrap NRTCachingDir"); } - NRTCachingDirectory nrtDir = new NRTCachingDirectory(dir, 5.0, 60.0); - conf.setMergeScheduler(nrtDir.getMergeScheduler()); - dir = nrtDir; + dir = new NRTCachingDirectory(dir, 5.0, 60.0); } final IndexWriter writer = new IndexWriter(dir, conf); Index: lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java =================================================================== --- lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java (revision 1139215) +++ lucene/contrib/misc/src/test/org/apache/lucene/store/TestNRTCachingDirectory.java (working copy) @@ -45,7 +45,6 @@ Directory dir = newDirectory(); NRTCachingDirectory cachedDir = new NRTCachingDirectory(dir, 2.0, 25.0); IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)); - conf.setMergeScheduler(cachedDir.getMergeScheduler()); RandomIndexWriter w = new RandomIndexWriter(random, cachedDir, conf); w.w.setInfoStream(VERBOSE ? System.out : null); final LineFileDocs docs = new LineFileDocs(random); @@ -109,7 +108,6 @@ Directory fsDir = FSDirectory.open(new File("/path/to/index")); NRTCachingDirectory cachedFSDir = new NRTCachingDirectory(fsDir, 2.0, 25.0); IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_32, analyzer); - conf.setMergeScheduler(cachedFSDir.getMergeScheduler()); IndexWriter writer = new IndexWriter(cachedFSDir, conf); } Index: lucene/contrib/misc/src/java/org/apache/lucene/store/NRTCachingDirectory.java =================================================================== --- lucene/contrib/misc/src/java/org/apache/lucene/store/NRTCachingDirectory.java (revision 1139215) +++ lucene/contrib/misc/src/java/org/apache/lucene/store/NRTCachingDirectory.java (working copy) @@ -40,11 +40,7 @@ /** * Wraps a {@link RAMDirectory} * around any provided delegate directory, to - * be used during NRT search. Make sure you pull the merge - * scheduler using {@link #getMergeScheduler} and pass that to your - * {@link IndexWriter}; this class uses that to keep track of which - * merges are being done by which threads, to decide when to - * cache each written file. + * be used during NRT search. * *
This class is likely only useful in a near-real-time * context, where indexing rate is lowish but reopen @@ -56,20 +52,12 @@ *
This is safe to use: when your app calls {IndexWriter#commit}, * all cached files will be flushed from the cached and sync'd.
* - *NOTE: this class is somewhat sneaky in its - * approach for spying on merges to determine the size of a - * merge: it records which threads are running which merges - * by watching ConcurrentMergeScheduler's doMerge method. - * While this works correctly, likely future versions of - * this class will take a more general approach. - * *
Here's a simple example usage: * *
* Directory fsDir = FSDirectory.open(new File("/path/to/index"));
* NRTCachingDirectory cachedFSDir = new NRTCachingDirectory(fsDir, 5.0, 60.0);
* IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_32, analyzer);
- * conf.setMergeScheduler(cachedFSDir.getMergeScheduler());
* IndexWriter writer = new IndexWriter(cachedFSDir, conf);
*
*
@@ -246,22 +234,6 @@
delegate.close();
}
- private final ConcurrentHashMap