[
https://issues.apache.org/jira/browse/LUCENE-6151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14262193#comment-14262193
]
Robert Muir commented on LUCENE-6151:
-------------------------------------
Can we update the link in our code to the bug impacted?
https://bugs.openjdk.java.net/browse/JDK-7015589
I was surprised regarding priority... can't this cause data loss?
Anyway, i dont know what we should do. In all cases there will be bugs. But the
lesser evil to me is to bogusly throw an exception on close, rather than
silently ignore an important one.
> Remove Java 7 close() hack in OutputStreamIndexOutput
> -----------------------------------------------------
>
> Key: LUCENE-6151
> URL: https://issues.apache.org/jira/browse/LUCENE-6151
> Project: Lucene - Core
> Issue Type: Task
> Affects Versions: Trunk
> Reporter: Uwe Schindler
> Fix For: Trunk
>
> Attachments: LUCENE-6151.patch
>
>
> In OutputStreamIndexOutput we have the following hack:
> {code:java}
> @Override
> public void close() throws IOException {
> try (final OutputStream o = os) {
> // We want to make sure that os.flush() was running before close:
> // BufferedOutputStream may ignore IOExceptions while flushing on
> close().
> // TODO: this is no longer an issue in Java 8:
> // http://hg.openjdk.java.net/jdk8/tl/jdk/rev/759aa847dcaf
> o.flush();
> }
> }
> {code}
> As we are on Java 8 already in trunk, we can remove this hack. The bug was
> fixed in Java 8, BufferedOutputStream / FilterOutputStream always calls
> flush() and close(), although an error happened!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]