commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IO-546) ClosedOutputStream#flush should throw
Date Fri, 18 Aug 2017 18:54:00 GMT

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

ASF GitHub Bot commented on IO-546:
-----------------------------------

GitHub user tjcelaya opened a pull request:

    https://github.com/apache/commons-io/pull/42

    [IO-546] ClosedOutputStream#flush should throw

    While debugging an issue involving usage of `CloseShieldOutputStream` I discovered that
`ClosedOutputStream#flush` is not overridden and will silently succeed. Not sure how much
of a breaking change this might be but I think it makes more sense for `ClosedOutputStream#flush`
to throw. This is only really meaningful in contexts where multiple streams are being chained
together and some of the streams before `CloseShieldOutputStream` perform buffering, but it
would make behavior more consistent for these more complex use-cases.
    
    See [IO-546](https://issues.apache.org/jira/browse/IO-546) where @dekobon has attached
an example program.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tjcelaya/commons-io fix/IO-546-ClosedOutputStream-flush

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/commons-io/pull/42.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #42
    
----
commit 854ed1d0d4495fa400dc4128d0e7374accb3f9c1
Author: Tomas Celaya <tjcelaya@gmail.com>
Date:   2017-08-18T18:47:20Z

    ClosedOutputStream#flush should throw

----


> ClosedOutputStream#flush should throw
> -------------------------------------
>
>                 Key: IO-546
>                 URL: https://issues.apache.org/jira/browse/IO-546
>             Project: Commons IO
>          Issue Type: Improvement
>          Components: Streams/Writers
>            Reporter: Tomas Celaya
>            Priority: Minor
>         Attachments: IO-546.patch
>
>
> While debugging an issue involving usage of {{CloseShieldOutputStream}} I discovered
that {{ClosedOutputStream#flush}} is not overridden and will silently succeed. Not sure how
much of a breaking change this might be but I think it makes more sense for {{ClosedOutputStream#flush}}
to throw. This is only really meaningful in contexts where multiple streams are being chained
together and some of the streams before {{CloseShieldOutputStream}} perform buffering, but
it would make behavior more consistent for these more complex use-cases.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message