Improve connection migration V2 performance |
|
Issue descriptionThe major implementation of connection migration has been complete(see crbug/774622) and the feature is being deployed/launched by embedders. This bug will be used to track subsequent work to improve connection migration performance.
,
Jun 15 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a3810c5e8e033f4015c17c092ef2ad339171344c commit a3810c5e8e033f4015c17c092ef2ad339171344c Author: Zhongyi Shi <zhongyi@chromium.org> Date: Fri Jun 15 23:07:19 2018 Fix default_network_ in QuicChromiumClientSession when the old default network is disconnected. Do not try migrate back to default network if it's disconnected. Remove Connection Migration V1 tests and add equivalent test coverage in V2 to test session is migrated when a new network is connected after write error. The new V2 tests are also regression tests which verifies session doesn't attempt to migrate back if default network is disconnected. Bug: 818259, 843299 Change-Id: I54c793b8110eb134d4eeaa3ec7d6d129fdd6aeef Reviewed-on: https://chromium-review.googlesource.com/1102109 Reviewed-by: Ryan Hamilton <rch@chromium.org> Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Cr-Commit-Position: refs/heads/master@{#567821} [modify] https://crrev.com/a3810c5e8e033f4015c17c092ef2ad339171344c/net/quic/chromium/quic_chromium_client_session.cc [modify] https://crrev.com/a3810c5e8e033f4015c17c092ef2ad339171344c/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 16 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1e2bc749ae0c900ab4c89beafe38887fce55e62c commit 1e2bc749ae0c900ab4c89beafe38887fce55e62c Author: Zhongyi Shi <zhongyi@chromium.org> Date: Sat Jun 16 02:06:07 2018 Fix test setup in MigrateOnWriteErrorWithNetworkMadeDefaultQueuedLater to test the network disconnected notification. Bug: 818259, 843299 Change-Id: I961c780dabc7628a598b1cab03231307fb705891 Reviewed-on: https://chromium-review.googlesource.com/1102988 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#567861} [modify] https://crrev.com/1e2bc749ae0c900ab4c89beafe38887fce55e62c/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b24001c0048e8d78c078a28b260720b7d97e9502 commit b24001c0048e8d78c078a28b260720b7d97e9502 Author: Zhongyi Shi <zhongyi@chromium.org> Date: Mon Jun 18 20:01:52 2018 Fix QUIC connection migration to cancel migrate back to default if an earlier migration has brought the session to the default network. This change also converts obsolete V1 tests for V2, adding regression test coverage. Bug: 818259, 843299 Change-Id: I8abfdb9af15af132efab62686fb014502e641198 Reviewed-on: https://chromium-review.googlesource.com/1103222 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#568117} [modify] https://crrev.com/b24001c0048e8d78c078a28b260720b7d97e9502/net/quic/chromium/quic_chromium_client_session.cc [modify] https://crrev.com/b24001c0048e8d78c078a28b260720b7d97e9502/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9f316b26d7cb78e887f9d3ee0a5716ffc7dd91ea commit 9f316b26d7cb78e887f9d3ee0a5716ffc7dd91ea Author: Zhongyi Shi <zhongyi@chromium.org> Date: Mon Jun 18 22:01:16 2018 Add equivalent test coverage in QUIC Connection Migration V2 and remove v1 tests. These test verifies that a session will migrate immediately to the alternate network when the default network disconnects. Bug: 818259, 843299 Change-Id: Id8be7a79db09cf6ec5e706e8bf6442351bdd11cc Reviewed-on: https://chromium-review.googlesource.com/1103608 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#568186} [modify] https://crrev.com/9f316b26d7cb78e887f9d3ee0a5716ffc7dd91ea/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b1b1fa4a9a19d4ab2380641c7373ef5d095ae3b0 commit b1b1fa4a9a19d4ab2380641c7373ef5d095ae3b0 Author: Zhongyi Shi <zhongyi@chromium.org> Date: Tue Jun 19 23:13:47 2018 Add equivalent test coverage in QUIC Connection Migration V2 and remove V1 tests. This test verifies that migration will be timed out after kWaitTimeForNewNetworkSecs and closes the connection if there's no network available. Bug: 818259, 843299 Change-Id: I58e4945d84e153f621187a1b1b46ac9dbb4e3372 Reviewed-on: https://chromium-review.googlesource.com/1107106 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#568634} [modify] https://crrev.com/b1b1fa4a9a19d4ab2380641c7373ef5d095ae3b0/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/22fd5f556e6383f9c99d3b0ffd77f561c4971a86 commit 22fd5f556e6383f9c99d3b0ffd77f561c4971a86 Author: Zhongyi Shi <zhongyi@chromium.org> Date: Wed Jun 20 17:39:09 2018 Add equivalent test in QUIC Connection Migration V2 and remove v1 tests. This tests verifies that session migrates to alternate network successfully on path degrading detected with async/sync write before the mgiration. Bug: 818259, 843299 Change-Id: Ie1dd92c4d21252151533601e4ae0f4857ab8d805 Reviewed-on: https://chromium-review.googlesource.com/1107166 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#568907} [modify] https://crrev.com/22fd5f556e6383f9c99d3b0ffd77f561c4971a86/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6ec9b36e05010052b922a72e4cdb7c39f12e216d commit 6ec9b36e05010052b922a72e4cdb7c39f12e216d Author: Zhongyi Shi <zhongyi@chromium.org> Date: Wed Jun 20 20:32:54 2018 Add equivalent test in QUIC Connection Migration V2 and remove v1 tests. This test verifies that session attempts connection migration when path degrading is detected. If there's no alternate network, session stays on the original network (not marked as going away), and has connection to cache the path degrading signal. Session can finish serving requests on the original network. Bug: 818259, 843299 Change-Id: Iab29e9a253d08b933191dc0f6dfb6b461e3e3e3e Reviewed-on: https://chromium-review.googlesource.com/1108489 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#568993} [modify] https://crrev.com/6ec9b36e05010052b922a72e4cdb7c39f12e216d/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/28f6e3584fd14d7ee01ee00f75f069c31e01a893 commit 28f6e3584fd14d7ee01ee00f75f069c31e01a893 Author: Zhongyi Shi <zhongyi@chromium.org> Date: Wed Jun 20 21:15:43 2018 Add equivalent test in QUIC Connection Migration V2 and remove v1 tests. This test verifies that QuicStreamFactory broadcasts connection migration signal to all the sessions and multiple sessions migrate to new network afterwards. Bug: 818259, 843299 Change-Id: I9ade5015b9eb992bf83d23132c5aa0bfeb3563a6 Reviewed-on: https://chromium-review.googlesource.com/1108516 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#569020} [modify] https://crrev.com/28f6e3584fd14d7ee01ee00f75f069c31e01a893/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a0644e393f7ee46f3139e599a5e03c996eaa6869 commit a0644e393f7ee46f3139e599a5e03c996eaa6869 Author: Zhongyi Shi <zhongyi@chromium.org> Date: Thu Jun 21 05:19:52 2018 Add equivalent test in QUIC Connection Migration V2 and remove v1 tests. These tests verify that session sends connnectivity probes on new default network before migrate to it. Bug: 818259, 843299 Change-Id: I73e9961dec23de933818e16f917f41d224fde98a Reviewed-on: https://chromium-review.googlesource.com/1109407 Reviewed-by: Ryan Hamilton <rch@chromium.org> Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Cr-Commit-Position: refs/heads/master@{#569161} [modify] https://crrev.com/a0644e393f7ee46f3139e599a5e03c996eaa6869/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4ac9e1fe20c1c1ececb49823178847ba6e51b59b commit 4ac9e1fe20c1c1ececb49823178847ba6e51b59b Author: Zhongyi Shi <zhongyi@chromium.org> Date: Thu Jun 21 05:21:47 2018 Add equivalent test coverage in QUIC connection migration V2 and remove v1 tests. Two tests simulates that session encounters a ASYNC/SYNCHRONOUS write error on the old network, new network connected before old network disconnects. Session should migrate successfully on write error. Two tests simulates that session encounters a ASYNC/SYNCHRONOUS write error on the old network, new network connected after old network disconnects. Session should migrate successfully on write error. Bug: 818259, 843299 Change-Id: I43206f683743675302af31b1ee86c64c258b1c9d Reviewed-on: https://chromium-review.googlesource.com/1108931 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#569163} [modify] https://crrev.com/4ac9e1fe20c1c1ececb49823178847ba6e51b59b/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 22 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7f1d9218cf6aac408bbe7f097428f94c799f16da commit 7f1d9218cf6aac408bbe7f097428f94c799f16da Author: Zhongyi Shi <zhongyi@chromium.org> Date: Fri Jun 22 23:24:36 2018 Add equivalent test coverage in QUIC connection migration V2 and remove v1 tests. These tests verify that connection migration on write error can eventually succeed and rewrite the packet on the new network after multiple consecutive write errors. Bug: 818259, 843299 Change-Id: If9e3672dd8fb07b65aa5fa9a892ec2a7dec7babc Reviewed-on: https://chromium-review.googlesource.com/1112630 Reviewed-by: Ryan Hamilton <rch@chromium.org> Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Cr-Commit-Position: refs/heads/master@{#569832} [modify] https://crrev.com/7f1d9218cf6aac408bbe7f097428f94c799f16da/net/quic/chromium/quic_stream_factory_test.cc
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/87ef15c76877007a993787bf493e922c87612b79 commit 87ef15c76877007a993787bf493e922c87612b79 Author: Zhongyi Shi <zhongyi@chromium.org> Date: Wed Jun 27 22:00:43 2018 Some more cleanup in QUIC Connection Migration V2, no behavior change. This change changes ShouldMigrateSession(renamed as IsSessionMigratable) to take a boolean to close session if not migratable. It also removes MigrateToAlternate, which was only called in MigrateSessionOnWriteError by directly calling IsSessionMigratable. Bug: 818259 Change-Id: I699675b43fcdcde91b079021a48a77eff6b6bf32 Reviewed-on: https://chromium-review.googlesource.com/1115763 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#570914} [modify] https://crrev.com/87ef15c76877007a993787bf493e922c87612b79/net/http/http_proxy_client_socket_wrapper_unittest.cc [modify] https://crrev.com/87ef15c76877007a993787bf493e922c87612b79/net/quic/chromium/quic_chromium_client_session.cc [modify] https://crrev.com/87ef15c76877007a993787bf493e922c87612b79/net/quic/chromium/quic_chromium_client_session.h [modify] https://crrev.com/87ef15c76877007a993787bf493e922c87612b79/net/quic/chromium/quic_stream_factory.h |
|
►
Sign in to add a comment |
|
Comment 1 by bugdroid1@chromium.org
, Apr 27 2018