[
https://issues.apache.org/jira/browse/LUCENE-4855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13607475#comment-13607475
]
Michael McCandless commented on LUCENE-4855:
--------------------------------------------
Hmmm, I'm confused. That code does this:
{noformat}
boolean success = false;
try {
output.writeInt(FORMAT_CURRENT); // write format
output.writeLong(0); // leave space for size
output.writeInt(indexInterval); // write indexInterval
output.writeInt(skipInterval); // write skipInterval
output.writeInt(maxSkipLevels); // write maxSkipLevels
assert initUTF16Results();
success = true;
} finally {
if (!success) {
IOUtils.closeWhileHandlingException(output);
}
}
{noformat}
So any exception inside the try block should then call
IOUtils.closeWhileHandlingException, which should suppress any exceptions hit
during closing and continue throwing the original exception.
Can you post the full exception?
> Potential exception in TermInfosWriter#initialize() swallowed makes debugging
> hard
> ----------------------------------------------------------------------------------
>
> Key: LUCENE-4855
> URL: https://issues.apache.org/jira/browse/LUCENE-4855
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/index
> Affects Versions: 3.6.2
> Environment: any
> Reporter: Chris Gioran
> Priority: Minor
>
> TermInfosWriter#initialize() can potentially fail with an exception when
> trying to write any of the values in the try block. If that happens the
> finally clause will be called and that may also fail during close(). This
> exception will mask the original one potentially hiding the real cause and
> making debugging such failures difficult.
> My particular case involves failing the first write in the initialize() and
> close() failing the seek. My code receives:
> Caused by: java.io.IOException: Illegal seek
> at java.io.RandomAccessFile.seek(Native Method) ~[na:1.6.0_31]
> at
> org.apache.lucene.store.FSDirectory$FSIndexOutput.seek(FSDirectory.java:479)
> at
> org.apache.lucene.index.TermInfosWriter.close(TermInfosWriter.java:244)
> at org.apache.lucene.util.IOUtils.close(IOUtils.java:141)
> which provides no indication as to why the initialization failed. The above
> stack trace has been created with lucene version 3.5.0 but the exception
> handling is still the same in 3.6.2
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]