You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/05/31 10:12:30 UTC
svn commit: r1682694 -
/lucene/dev/branches/lucene6508/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
Author: mikemccand
Date: Sun May 31 08:12:30 2015
New Revision: 1682694
URL: http://svn.apache.org/r1682694
Log:
LUCENE_6508: move more stuff inside the try/finally so we always release write lock
Modified:
lucene/dev/branches/lucene6508/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
Modified: lucene/dev/branches/lucene6508/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6508/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java?rev=1682694&r1=1682693&r2=1682694&view=diff
==============================================================================
--- lucene/dev/branches/lucene6508/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/lucene6508/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java Sun May 31 08:12:30 2015
@@ -754,6 +754,7 @@ public class IndexWriter implements Clos
public IndexWriter(Directory d, IndexWriterConfig conf) throws IOException {
conf.setIndexWriter(this); // prevent reuse by other instances
config = conf;
+ infoStream = config.getInfoStream();
// obtain the write.lock. If the user configured a timeout,
// we wrap with a sleeper and this might take some time.
@@ -767,25 +768,24 @@ public class IndexWriter implements Clos
}
writeLock = lockDir.obtainLock(WRITE_LOCK_NAME);
- directory = d;
- // nocommit: turn on carefully after we get other stuff going
- // validatingDirectory = new LockValidatingDirectoryWrapper(d, writeLock);
+ boolean success = false;
+ try {
+ directory = d;
+ // nocommit: turn on carefully after we get other stuff going
+ // validatingDirectory = new LockValidatingDirectoryWrapper(d, writeLock);
- // Directory we use for merging, so we can abort running merges, and so
- // merge schedulers can optionally rate-limit per-merge IO:
- mergeDirectory = addMergeRateLimiters(directory);
+ // Directory we use for merging, so we can abort running merges, and so
+ // merge schedulers can optionally rate-limit per-merge IO:
+ mergeDirectory = addMergeRateLimiters(directory);
- analyzer = config.getAnalyzer();
- infoStream = config.getInfoStream();
- mergeScheduler = config.getMergeScheduler();
- mergeScheduler.setInfoStream(infoStream);
- codec = config.getCodec();
+ analyzer = config.getAnalyzer();
+ mergeScheduler = config.getMergeScheduler();
+ mergeScheduler.setInfoStream(infoStream);
+ codec = config.getCodec();
- bufferedUpdatesStream = new BufferedUpdatesStream(infoStream);
- poolReaders = config.getReaderPooling();
+ bufferedUpdatesStream = new BufferedUpdatesStream(infoStream);
+ poolReaders = config.getReaderPooling();
- boolean success = false;
- try {
OpenMode mode = config.getOpenMode();
boolean create;
if (mode == OpenMode.CREATE) {