You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2012/01/21 20:10:41 UTC

svn commit: r1234398 - /lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java

Author: simonw
Date: Sat Jan 21 19:10:41 2012
New Revision: 1234398

URL: http://svn.apache.org/viewvc?rev=1234398&view=rev
Log:
LUCENE-3709: properly release primary output lock if wrapper creation fails

Modified:
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java?rev=1234398&r1=1234397&r2=1234398&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java Sat Jan 21 19:10:41 2012
@@ -255,10 +255,8 @@ final class CompoundFileWriter implement
       assert !seenIDs.contains(id): "file=\"" + name + "\" maps to id=\"" + id + "\", which was already written";
       seenIDs.add(id);
       final DirectCFSIndexOutput out;
-      if (outputTaken.compareAndSet(false, true)) {
+      if ((outputLocked = outputTaken.compareAndSet(false, true))) {
         out = new DirectCFSIndexOutput(getOutput(), entry, false);
-        outputLocked = true;
-        success = true;
       } else {
         entry.dir = this.directory;
         if (directory.fileExists(name)) {