From acf9e1333d0814839ef30ef1de589bef1fee19eb Mon Sep 17 00:00:00 2001 From: Simon Willnauer Date: Sat, 21 Jan 2012 19:10:41 +0000 Subject: [PATCH] LUCENE-3709: properly release primary output lock if wrapper creation fails git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1234398 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/java/org/apache/lucene/store/CompoundFileWriter.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java b/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java index d24f1b94276..e4d17503a64 100644 --- a/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java +++ b/lucene/src/java/org/apache/lucene/store/CompoundFileWriter.java @@ -255,10 +255,8 @@ final class CompoundFileWriter implements Closeable{ 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)) {