commit | b3b948882e3ee3bc193868131403b1e5db8b7760 | [log] [tgz] |
---|---|---|
author | Kenichi Ishibashi <bashi@chromium.org> | Mon May 12 07:32:52 2025 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon May 12 07:32:52 2025 |
tree | 7281455a30d9ae823941ddef67b660e9b92f5cbb | |
parent | 95b034347a0a87ffb9d066dbdaee969319706761 [diff] |
HttpStreamPool: Stop pausing and resuming Jobs crrev.com/c/6064900 introduced pausing and resuming Jobs. However, pausing Jobs could slow down HttpStream creation, causing some regressions in the new code path. Instead of pausing Jobs, create a new AttemptManager for subsequent Jobs without waiting for failing AttemptManager's completion. This CL: - Remove paused_jobs_ and resumed_jobs_ from Group. - Add Group::OnAttemptManagerShuttingDown(), which is called when an AttemptManager fails. - Keep shutting down AttemptManager until these can be destroyed. - Create a new AttemptManager after AttemptManager's failure for subsequent Jobs. - Update some unit tests. Notes on unit test changes: - Use base::WeakPtr<AttemptManager> to access AttemptManagers that will not be reachable from Group::attempt_manager() at later. - Update tests related to pausing/resuming Jobs. - Rename ResumePausedJobExistingSpdySession to SpdySessionAvailableAfterFailure. - Remove ResumePausedJobExistingSpdySessionGroupOutliveJob. This test is merged into SpdySessionAvailableAfterFailure. - Rename ResumePausedJobExistingQuicSession to QuicSessionAvailableAfterFailure. Currently this test doesn't work. Fixing the test isn't trivial so I'll fix the test in a follow-up CL to reduce the diff of this CL. - Remove HttpStreamPoolGroupTest.ComparePausedJobSet as we don't need it any longer. OBSOLETE_HISTOGRAMS=Patterned histogram Net.HttpStreamPool.JobCreateToResumeTime2.{Result} was removed. Bug: 416088643 Change-Id: Ib3f8c695d518bbcac153f6767585620e0ce636f0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6520442 Reviewed-by: Nidhi Jaju <nidhijaju@chromium.org> Commit-Queue: Kenichi Ishibashi <bashi@chromium.org> Cr-Commit-Position: refs/heads/main@{#1458680}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.