[ 
https://issues.apache.org/jira/browse/LUCENE-6151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler resolved LUCENE-6151.
-----------------------------------
    Resolution: Won't Fix
      Assignee: Uwe Schindler

We should not fix this, the hack does not hurt - so better keep it. I will open 
another issue to fix the double-close issue.

> 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
>            Assignee: 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