8381670: Revert the changes to GZIPInputStream related to InputStream.available() usage#465
8381670: Revert the changes to GZIPInputStream related to InputStream.available() usage#465rm-gh-8 wants to merge 1 commit into
Conversation
|
👋 Welcome back rmesde! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
This backport pull request has now been updated with issue from the original commit. |
|
|
|
/approval request for backport of JDK-8381670: Revert the changes to GZIPInputStream related to InputStream.available() usage. This PR reverts changes from JDK-7036144, that caused both a performance regression (JDK-8374644) and a functional regression (JDK-8377896) Low risk — this is a rollback to behavior that was stable for decades. |
|
@GoeLin Please note that this has been merged in jdk26u (openjdk/jdk26u#165) |
|
@rm-gh-8 This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a |
|
@GoeLin Please note that this was backported to the Oracle JDK: https://bugs.openjdk.org/browse/JDK-8385365 |
While that is technically correct, that downport happened before the lengthy discussion on openjdk/jdk#30925 (comment). Oracle is now about to re-integrate those changes which were backed out, but this time guarded by a new system property, such that users can choose between the old and the new behavior. I suggest we wait until that change (i.e. JDK-8385924: GZIPInputStream.read() behaves differently on some Java versions) lands in JDK 27 and then downport both, this change (i.e. JDK-8381670) and JDK-8385924 simultaneously to JDK 25u. This will make it possible to maintain the original JDK 25 behavior while at the same time give users a chance to switch back to the before JDK 25 behavior with a system property. |
Backporting JDK-8381670: Revert the changes to GZIPInputStream related to InputStream.available() usage.
This PR reverts changes from JDK-7036144, that caused both a performance regression (JDK-8374644) and a functional regression (JDK-8377896)
Ran related tests on linux-x64, linux-aarch64, macos-aarch64 and windows-x64:
make test TEST=test/jdk/java/util/zip/GZIP
Results attached:
windows-x64-specific-test.log
macos-aarch64-specific-test.log
linux-x64-specific-test.log
linux-aarch64-specific-test.log
Progress
Issues
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk25u-dev.git pull/465/head:pull/465$ git checkout pull/465Update a local copy of the PR:
$ git checkout pull/465$ git pull https://git.openjdk.org/jdk25u-dev.git pull/465/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 465View PR using the GUI difftool:
$ git pr show -t 465Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk25u-dev/pull/465.diff
Using Webrev
Link to Webrev Comment