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]

Reply via email to