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) {