Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8342075: HttpClient: improve HTTP/2 flow control checks #3005

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

alexeybakhtin
Copy link
Contributor

@alexeybakhtin alexeybakhtin commented Feb 27, 2025

Please review backport of JDK-8342075
The backport is not clean:

  • src/java.net.http/share/classes/module-info.java

The changes are skipped because there are no java.net.http configuration properties definitions in the file. It was added by JDK-8296804 in JDK20 but not backported.

  • src/java.net.http/share/classes/jdk/internal/net/http/Stream.java

Comments are not added into Stream::incoming() method because of no JDK-8298340 in JDK11
Fixed instance of pattern, added in JDK14
Fixed string formatting in Stream::windowSizeExceeded

  • src/java.net.http/share/classes/jdk/internal/net/http/WindowUpdateSender.java

manual merge because of differences in the import section caused by JDK-8308310

  • src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java

Added Http2Connection.java::isOpen method. It was added by 8254786 in JDK19

  • test/jdk/java/net/httpclient/GZIPInputStreamTest.java

Changes skipped. This test was added as part of the JDK-8217264, but this functionality was not backported to JDK11

  • test/jdk/java/net/httpclient/http2/server/Http2TestExchange.java and test/jdk/java/net/httpclient/http2/server/Http2TestExchangeImpl.java and test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java

Test classes are updated from JDK-8335181 with getConnectionKey() implementation

  • test/jdk/java/net/httpclient/http2/server/BodyOutputStream.java and test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java

These library classes are located in another directory (8295944 is not backported to JDK11).  

  • test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/ConnectionFlowControlTest.java and test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/StreamFlowControlTest.java

Test classes are updated to use ExecutorService::shutdown method to shut down httpclient. These methods are added by JDK-8267140 in JDK21
Fixed instance of pattern, added in JDK14
Fixed build and modules dependencies

All java/net/httpclient jtreg tests are passed


Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • JDK-8342075 needs maintainer approval
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change requires CSR request JDK-8350611 to be approved

Issues

  • JDK-8342075: HttpClient: improve HTTP/2 flow control checks (Bug - P4)
  • JDK-8350611: HttpClient: improve HTTP/2 flow control checks (CSR)

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk11u-dev.git pull/3005/head:pull/3005
$ git checkout pull/3005

Update a local copy of the PR:
$ git checkout pull/3005
$ git pull https://git.openjdk.org/jdk11u-dev.git pull/3005/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 3005

View PR using the GUI difftool:
$ git pr show -t 3005

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk11u-dev/pull/3005.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Feb 27, 2025

👋 Welcome back abakhtin! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Feb 27, 2025

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@openjdk openjdk bot changed the title Backport b0ac633b2d0076d64b463b2a6ce19abf6b12c50f 8342075: HttpClient: improve HTTP/2 flow control checks Feb 27, 2025
@openjdk
Copy link

openjdk bot commented Feb 27, 2025

This backport pull request has now been updated with issue from the original commit.

@openjdk openjdk bot added backport csr Pull request needs approved CSR before integration rfr Pull request is ready for review labels Feb 27, 2025
@mlbridge
Copy link

mlbridge bot commented Feb 27, 2025

Webrevs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport csr Pull request needs approved CSR before integration rfr Pull request is ready for review
Development

Successfully merging this pull request may close these issues.

1 participant