-
Notifications
You must be signed in to change notification settings - Fork 634
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
Optimize Http2Pool by reducing calls to CLDQ size method #2090
Merged
pderop
merged 5 commits into
reactor:1.0.x
from
pderop:optimize-h2pool-reduce-cldq-size-calls
Mar 11, 2022
Merged
Optimize Http2Pool by reducing calls to CLDQ size method #2090
pderop
merged 5 commits into
reactor:1.0.x
from
pderop:optimize-h2pool-reduce-cldq-size-calls
Mar 11, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
simonbasle
approved these changes
Mar 10, 2022
…anipulated, and added a test.
…etrics are updated properly.
violetagg
requested changes
Mar 11, 2022
reactor-netty-http/src/main/java/reactor/netty/http/client/Http2Pool.java
Outdated
Show resolved
Hide resolved
simonbasle
approved these changes
Mar 11, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, sorry I should have noticed the likes of while ((p = q.pollFirst()) != null)
:(
violetagg
approved these changes
Mar 11, 2022
gcf-merge-on-green bot
pushed a commit
to GoogleCloudPlatform/cloud-sql-jdbc-socket-factory
that referenced
this pull request
Mar 25, 2022
…to v1.0.17 (#777) [![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [io.projectreactor.netty:reactor-netty](https://togithub.com/reactor/reactor-netty) | `1.0.16` -> `1.0.17` | [![age](https://badges.renovateapi.com/packages/maven/io.projectreactor.netty:reactor-netty/1.0.17/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/io.projectreactor.netty:reactor-netty/1.0.17/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/io.projectreactor.netty:reactor-netty/1.0.17/compatibility-slim/1.0.16)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/io.projectreactor.netty:reactor-netty/1.0.17/confidence-slim/1.0.16)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>reactor/reactor-netty</summary> ### [`v1.0.17`](https://togithub.com/reactor/reactor-netty/releases/v1.0.17) [Compare Source](https://togithub.com/reactor/reactor-netty/compare/v1.0.16...v1.0.17) <!-- Release notes generated using configuration in .github/release.yml at v1.0.17 --> `Reactor Netty` `1.0.17` is part of **`2020.0.17` Release Train**. This is a recommended update for all `Reactor Netty 1.0.x` users. #### What's Changed #####⚠️ Update considerations and deprecations - Deprecate `Connection#addHandler(...)` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2071 ##### ✨ New features and improvements - Depend on `Reactor Core` `v3.4.16` by [@​simonbasle](https://togithub.com/simonbasle) in [`6b88e96`](https://togithub.com/reactor/reactor-netty/commit/6b88e965ed6ad26cf4ead84882793cf6ad21dee4), see [release notes](https://togithub.com/reactor/reactor-core/releases/tag/v3.4.16). - Depend on `Netty` `v4.1.75.Final` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2097 - Depend on `Netty QUIC Codec` `v0.0.26.Final` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2054 - Depend on `netty-incubator-transport-native-io_uring` `v0.0.13.Final` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2099 - Create the `Tags` once as they are the same for every `Gauge` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2048 - Enable `HttpClient`/`HttpServer` metrics when protocol is `H2`/`H2C` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2066 - Optimise `Http2Pool` by reducing calls to `CLDQ` size method by [@​pderop](https://togithub.com/pderop) in [reactor/reactor-netty#2090 ##### 🐞 Bug fixes - Ensure the provided event loop is not null by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2047 - Ensure server connections metrics are not reported for the client by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2063 - When request decoding fails on `HttpContent` different than `HttpRequest`, obtain the request from the channel attributes by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2077 - Wrong metric value for `TLS` handshake time by [@​pderop](https://togithub.com/pderop) in [reactor/reactor-netty#2078 - Prevent `NPE` when adding `IdleTimeoutHandler` by [@​raycoarana](https://togithub.com/raycoarana) in [reactor/reactor-netty#2084 - Ensure all cases, when `Http2FrameCodec` is not available, are handled properly by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2093 ##### 📖 Documentation, Tests and Build - Documentation: - Add javadoc for the method param `isDomainSocket` in `TransportConnector#bind(...)` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2050 - Provide more clarity of `maxConnections` usage by [@​PyAntony](https://togithub.com/PyAntony) in [reactor/reactor-netty#2059 - Extend the example for disabling the connection pool by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2082 - Tests: - Refactor the test in order to be able to test `H2`/`H2C` variations by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2064 - Switch to `ChannelHandlerAdapter` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2076 - Build: - Adapt the workflows to run against `1.0.x` branch by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2035 - Improve readability of preliminary how-to-fix hint in CI by [@​simonbasle](https://togithub.com/simonbasle) in [reactor/reactor-netty#2049 - Upgrade to `Gradle` `v7.4.1` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2092 ##### 🆙 Dependency Upgrades - Bump `com.diffplug.spotless` from `6.2.2` to `6.3.0` by [@​dependabot](https://togithub.com/dependabot) in [reactor/reactor-netty#2033 - Bump `biz.aQute.bnd.builder` from `6.1.0` to `6.2.0` by [@​dependabot](https://togithub.com/dependabot) in [reactor/reactor-netty#2060 - Bump `jackson-databind` from `2.13.1` to `2.13.2` by [@​dependabot](https://togithub.com/dependabot) in [reactor/reactor-netty#2073 - Bump `logback-classic` from `1.2.10` to `1.2.11` by [@​dependabot](https://togithub.com/dependabot) in [reactor/reactor-netty#2074 - Bump `awaitility` from `4.1.1` to `4.2.0` by [@​dependabot](https://togithub.com/dependabot) in [reactor/reactor-netty#2075 - Bump `de.undercouch.download` from `5.0.1` to `5.0.2` by [@​dependabot](https://togithub.com/dependabot) in [reactor/reactor-netty#2079 - Bump `japicmp` from `0.3.1` to `0.4.0` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2085 - Bump `mockito-core` from `4.3.1` to `4.4.0` by [@​dependabot](https://togithub.com/dependabot) in [reactor/reactor-netty#2087 - Bump `netty-tcnative-boringssl-static` from `v2.0.50.Final` to `v2.0.51.Final` by [@​violetagg](https://togithub.com/violetagg) in [reactor/reactor-netty#2100 - Bump `tomcat-embed-core` from `9.0.59` to `9.0.60` by [@​dependabot](https://togithub.com/dependabot) in [reactor/reactor-netty#2102 **Full Changelog**: reactor/reactor-netty@v1.0.16...v1.0.17 </details> --- ### Configuration 📅 **Schedule**: "after 8am on Friday,before 12pm on Friday" (UTC). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The PR provides an enhancement for the Http2Pool in order to reduce ConcurrentLinkedDeque.size() method calls, which is not a constant time operation.
Indeed, it has been observed that the CLDQ size method may consume around 18% of CPU when there is a high load of http client requests while all streams are currently unavailable.