mirror of https://github.com/apache/lucene.git
LUCENE-3892: suppress exceptions from close() while we are already handling an exception
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/pforcodec_3892@1360184 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a227add782
commit
101ea65be9
|
@ -17,27 +17,28 @@ package org.apache.lucene.codecs.pfor;
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.codecs.BlockTreeTermsReader;
|
||||||
import org.apache.lucene.store.IOContext;
|
import org.apache.lucene.codecs.BlockTreeTermsWriter;
|
||||||
import org.apache.lucene.index.SegmentInfo;
|
|
||||||
import org.apache.lucene.index.SegmentWriteState;
|
|
||||||
import org.apache.lucene.index.SegmentReadState;
|
|
||||||
import org.apache.lucene.codecs.FieldsConsumer;
|
import org.apache.lucene.codecs.FieldsConsumer;
|
||||||
import org.apache.lucene.codecs.FieldsProducer;
|
import org.apache.lucene.codecs.FieldsProducer;
|
||||||
import org.apache.lucene.codecs.BlockTreeTermsWriter;
|
|
||||||
import org.apache.lucene.codecs.BlockTreeTermsReader;
|
|
||||||
import org.apache.lucene.codecs.TermsIndexReaderBase;
|
|
||||||
import org.apache.lucene.codecs.TermsIndexWriterBase;
|
|
||||||
import org.apache.lucene.codecs.FixedGapTermsIndexReader;
|
import org.apache.lucene.codecs.FixedGapTermsIndexReader;
|
||||||
import org.apache.lucene.codecs.FixedGapTermsIndexWriter;
|
import org.apache.lucene.codecs.FixedGapTermsIndexWriter;
|
||||||
import org.apache.lucene.codecs.PostingsFormat;
|
import org.apache.lucene.codecs.PostingsFormat;
|
||||||
import org.apache.lucene.codecs.PostingsWriterBase;
|
|
||||||
import org.apache.lucene.codecs.PostingsReaderBase;
|
import org.apache.lucene.codecs.PostingsReaderBase;
|
||||||
|
import org.apache.lucene.codecs.PostingsWriterBase;
|
||||||
|
import org.apache.lucene.codecs.TermsIndexReaderBase;
|
||||||
|
import org.apache.lucene.codecs.TermsIndexWriterBase;
|
||||||
import org.apache.lucene.codecs.sep.SepPostingsReader;
|
import org.apache.lucene.codecs.sep.SepPostingsReader;
|
||||||
import org.apache.lucene.codecs.sep.SepPostingsWriter;
|
import org.apache.lucene.codecs.sep.SepPostingsWriter;
|
||||||
|
import org.apache.lucene.index.SegmentInfo;
|
||||||
|
import org.apache.lucene.index.SegmentReadState;
|
||||||
|
import org.apache.lucene.index.SegmentWriteState;
|
||||||
|
import org.apache.lucene.store.IOContext;
|
||||||
|
import org.apache.lucene.util.BytesRef;
|
||||||
|
import org.apache.lucene.util.IOUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pass ForFactory to a PostingsWriter/ReaderBase, and get
|
* Pass ForFactory to a PostingsWriter/ReaderBase, and get
|
||||||
|
@ -84,7 +85,7 @@ public final class ForPostingsFormat extends PostingsFormat {
|
||||||
return ret;
|
return ret;
|
||||||
} finally {
|
} finally {
|
||||||
if (!success) {
|
if (!success) {
|
||||||
postingsWriter.close();
|
IOUtils.closeWhileHandlingException(postingsWriter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -111,7 +112,7 @@ public final class ForPostingsFormat extends PostingsFormat {
|
||||||
return ret;
|
return ret;
|
||||||
} finally {
|
} finally {
|
||||||
if (!success) {
|
if (!success) {
|
||||||
postingsReader.close();
|
IOUtils.closeWhileHandlingException(postingsReader);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,27 +17,28 @@ package org.apache.lucene.codecs.pfor;
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.lucene.util.BytesRef;
|
import org.apache.lucene.codecs.BlockTreeTermsReader;
|
||||||
import org.apache.lucene.store.IOContext;
|
import org.apache.lucene.codecs.BlockTreeTermsWriter;
|
||||||
import org.apache.lucene.index.SegmentInfo;
|
|
||||||
import org.apache.lucene.index.SegmentWriteState;
|
|
||||||
import org.apache.lucene.index.SegmentReadState;
|
|
||||||
import org.apache.lucene.codecs.FieldsConsumer;
|
import org.apache.lucene.codecs.FieldsConsumer;
|
||||||
import org.apache.lucene.codecs.FieldsProducer;
|
import org.apache.lucene.codecs.FieldsProducer;
|
||||||
import org.apache.lucene.codecs.BlockTreeTermsWriter;
|
|
||||||
import org.apache.lucene.codecs.BlockTreeTermsReader;
|
|
||||||
import org.apache.lucene.codecs.TermsIndexReaderBase;
|
|
||||||
import org.apache.lucene.codecs.TermsIndexWriterBase;
|
|
||||||
import org.apache.lucene.codecs.FixedGapTermsIndexReader;
|
import org.apache.lucene.codecs.FixedGapTermsIndexReader;
|
||||||
import org.apache.lucene.codecs.FixedGapTermsIndexWriter;
|
import org.apache.lucene.codecs.FixedGapTermsIndexWriter;
|
||||||
import org.apache.lucene.codecs.PostingsFormat;
|
import org.apache.lucene.codecs.PostingsFormat;
|
||||||
import org.apache.lucene.codecs.PostingsWriterBase;
|
|
||||||
import org.apache.lucene.codecs.PostingsReaderBase;
|
import org.apache.lucene.codecs.PostingsReaderBase;
|
||||||
|
import org.apache.lucene.codecs.PostingsWriterBase;
|
||||||
|
import org.apache.lucene.codecs.TermsIndexReaderBase;
|
||||||
|
import org.apache.lucene.codecs.TermsIndexWriterBase;
|
||||||
import org.apache.lucene.codecs.sep.SepPostingsReader;
|
import org.apache.lucene.codecs.sep.SepPostingsReader;
|
||||||
import org.apache.lucene.codecs.sep.SepPostingsWriter;
|
import org.apache.lucene.codecs.sep.SepPostingsWriter;
|
||||||
|
import org.apache.lucene.index.SegmentInfo;
|
||||||
|
import org.apache.lucene.index.SegmentReadState;
|
||||||
|
import org.apache.lucene.index.SegmentWriteState;
|
||||||
|
import org.apache.lucene.store.IOContext;
|
||||||
|
import org.apache.lucene.util.BytesRef;
|
||||||
|
import org.apache.lucene.util.IOUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pass PForFactory to a PostingsWriter/ReaderBase, and get
|
* Pass PForFactory to a PostingsWriter/ReaderBase, and get
|
||||||
|
@ -83,7 +84,7 @@ public final class PForPostingsFormat extends PostingsFormat {
|
||||||
return ret;
|
return ret;
|
||||||
} finally {
|
} finally {
|
||||||
if (!success) {
|
if (!success) {
|
||||||
postingsWriter.close();
|
IOUtils.closeWhileHandlingException(postingsWriter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -110,7 +111,7 @@ public final class PForPostingsFormat extends PostingsFormat {
|
||||||
return ret;
|
return ret;
|
||||||
} finally {
|
} finally {
|
||||||
if (!success) {
|
if (!success) {
|
||||||
postingsReader.close();
|
IOUtils.closeWhileHandlingException(postingsReader);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue