> Can I please get a review of this change which addresses the issue noted in > https://bugs.openjdk.org/browse/JDK-8369181? > > As noted in that issue, if `finish()` is called on a `InflaterOutputStream` > that was constructed without passing a `Inflater`, then any subsequent > `write()`s on that `InflaterOutputStream` result in an > `IllegalStateException`, because we close the `Inflater` in `finish()`. The > commit in this PR, fixes the issue by throwing the specified `IOException` in > place of the `IllegalStateException`. > > At the same time, the documentation of `finish()` has been enhanced to > clarify the current behaviour, through a `@implSpec`. > > Alternative approaches of deprecating finish() and/or not closing the default > Inflater were considered, but given the current long standing implementation > of finish(), it was decided to merely specify the current behaviour of > closing the default Inflater in finish(). > > A new jtreg test has been added to reproduce the issue and verify the fix. > tier1, tier2, tier3 testing of this change completed without any related > issues. > > I'll file a CSR shortly for this change.
Jaikiran Pai has updated the pull request incrementally with one additional commit since the last revision: writes any ... instead of writes out any ... ------------- Changes: - all: https://git.openjdk.org/jdk/pull/29935/files - new: https://git.openjdk.org/jdk/pull/29935/files/60419594..70c7e254 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=29935&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29935&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/29935.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/29935/head:pull/29935 PR: https://git.openjdk.org/jdk/pull/29935
