[ 
https://issues.apache.org/jira/browse/LUCENE-6151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14262180#comment-14262180
 ] 

Uwe Schindler commented on LUCENE-6151:
---------------------------------------

Java 8 has fixed this bug (see the comment: "TODO: this is no longer an issue 
in Java 8"): http://hg.openjdk.java.net/hsx/hotspot-rt/jdk/rev/759aa847dcaf

The URL was outdated, but its in the source code. At least it does not hurt, so 
we can keep it as it is... So maybe IBM J9 still has the bug :-)

> 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]

Reply via email to