Skip to content

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

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

Closed
wants to merge 2 commits into from

Conversation

alexeybakhtin
Copy link

@alexeybakhtin alexeybakhtin commented Feb 24, 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 JDK17

  • 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

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

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

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

  • 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

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-8351085 to be approved

Issues

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

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 3298

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

Using diff file

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

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Feb 24, 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 24, 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 24, 2025
@openjdk
Copy link

openjdk bot commented Feb 24, 2025

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

@openjdk openjdk bot added the backport Port of a pull request already in a different code base label Feb 24, 2025
@openjdk
Copy link

openjdk bot commented Feb 24, 2025

At least one of the issues associated with this backport has a resolved CSR for a different version. As this means that this backport may also need a CSR, the csr label is being added to this pull request to signal this potential requirement. The command /csr unneeded can be used to remove the label in case a CSR is not needed.

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

mlbridge bot commented Feb 24, 2025

Webrevs

@bridgekeeper
Copy link

bridgekeeper bot commented Mar 25, 2025

@alexeybakhtin 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@bridgekeeper
Copy link

bridgekeeper bot commented Apr 22, 2025

@alexeybakhtin This pull request has been inactive for more than 8 weeks and will now be automatically closed. If you would like to continue working on this pull request in the future, feel free to reopen it! This can be done using the /open pull request command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport Port of a pull request already in a different code base 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