On Mon, 2 Mar 2026 21:53:00 GMT, Jaikiran Pai <[email protected]> wrote:

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

Thank you all for the reviews and inputs on addressing this. I've run tier1, 
tier2, tier3 tests against latest master with this PR and the tests continue to 
pass. I'll go ahead and integrate this now.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/29935#issuecomment-4101860845

Reply via email to