Rayan-and-beyond opened a new pull request, #1320: URL: https://github.com/apache/pekko-http/pull/1320
### Motivation Long-lived managed HTTP/2 clients can remain pinned to existing server instances, which can leave newly added instances underused after a scale-out or rolling deployment. ### Modification Add `pekko.http.client.http2.persistent-connection-max-age`, disabled by default with `0s`. When the configured age is reached, the managed persistent client stops dispatching new requests to that connection, lets its in-flight requests complete, and reconnects for later requests. The behavior applies to both `managedPersistentHttp2()` and `managedPersistentHttp2WithPriorKnowledge()`. The implementation is clean-room from Pekko sources and the issue requirements; no Akka implementation was consulted. ### Result Operators can periodically refresh long-lived managed HTTP/2 client connections without interrupting requests already in flight. ### Tests - `sbt "http-core/testOnly org.apache.pekko.http.scaladsl.settings.Http2CommonSettingsSpec"` — pass - `sbt "http2-tests/testOnly org.apache.pekko.http.impl.engine.http2.Http2PersistentClientTlsSpec org.apache.pekko.http.impl.engine.http2.Http2PersistentClientPlaintextSpec"` — 24 passed - JDK 17: `sbt "http2-tests/test"` — 376 passed - JDK 17: `sbt validatePullRequest` — pass - JDK 17: `sbt +http-core/mimaReportBinaryIssues` — pass on Scala 2.13.18 and 3.3.8 - JDK 17: `sbt scalafmtCheckAll scalafmtSbtCheck` — pass - JDK 17: `sbt headerCreateAll` — no source changes - JDK 17: `sbt +headerCheckAll` — pass - JDK 17: `sbt checkCodeStyle` — pass - JDK 17: `sbt docs/paradox` — pass - `git diff --check` — pass - JDK 17: `sbt sortImports` — environment/tooling failure before source changes: `NoSuchMethodError: scala.meta.package$.Input()` from the external `SortImports` Scalafix rule ### References Fixes #1319 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
