[
https://issues.apache.org/jira/browse/LUCENE-6120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14257108#comment-14257108
]
ASF subversion and git services commented on LUCENE-6120:
---------------------------------------------------------
Commit 1647599 from [~rcmuir] in branch 'dev/trunk'
[ https://svn.apache.org/r1647599 ]
LUCENE-6120: Fix MockDirectoryWrapper close() handling
> how should MockIndexOutputWrapper.close handle exceptions in delegate.close
> ---------------------------------------------------------------------------
>
> Key: LUCENE-6120
> URL: https://issues.apache.org/jira/browse/LUCENE-6120
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/store
> Reporter: Michael McCandless
> Priority: Minor
> Attachments: LUCENE-6120.patch
>
>
> Chasing a tricking Elasticsearch test failure, it came down to the
> delegate.close throwing an exception (ClosedByInterruptException,
> disturbingly, in this case), causing MockIndexOutputWrapper.close to fail to
> remove that IO from MDW's map.
> The question is, what should we do here, when delegate.close throws an
> exception? Is the delegate in fact closed, even when it throws an exception?
>
> Java8's docs on java.io.Closeable say this:
> As noted in AutoCloseable.close(), cases where the close may fail require
> careful attention. It is strongly advised to relinquish the underlying
> resources and to internally mark the Closeable as closed, prior to throwing
> the IOException.
> And our OutputStreamIndexOutput is careful about this (flushes, then closes
> in a try-with-resources).
> So, I think MDW should be fixed to mark the IO as closed even if
> delegate.close throws an exception...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]