New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 835444 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 11
Cc:
Components:
EstimatedDays: ----
NextAction: 2018-05-09
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

Migration on PathDegrading not triggered when a new network is connected

Project Member Reported by zhongyi@chromium.org, Apr 20 2018

Issue description

Migration on path degrading is not triggered when a new network is connected after a while. 

Currently path degrading signal only delivered once, at 2 consecutive re-transmission timeout. And connection migration on path degrading would not make progress if an alternate network is connected later. That is, if the current network keeps degrading starting from t0:
@ t0+2RTT: OnPathDegrading fires, no alternate network, migration aborts
@ t0+3RTT: path degrading continues, no OnPathDegrading will fire. 
@ t0+3RTT+ tx: an alternate network connected, no migration will be attempted as we didn't remember that we path degraded before.

This should be fixed by having a boolean cached in QuicChromiumClientSession to remember if the current path is degrading. It will be set when the OnPathDegrading is fired and no alternate network is available. It will be cleared if the connection is able to make forward progress. Whenever a new network is connected, if this boolean is set, we should invoke OnPathDegrading() to start migration. 
 
The NextAction date has arrived: 2018-04-24
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de2960fc0bba2ae13035f8090aeac7c377eddf7f

commit de2960fc0bba2ae13035f8090aeac7c377eddf7f
Author: Zhongyi Shi <zhongyi@chromium.org>
Date: Tue Apr 24 22:19:01 2018

Make the connection to remember path degrading status.

When a conenction has path degrading timer fired, the connection will remember
that it's path degrading until forward progress is made, i.e., new ack has
been received on the degrading path. It will then spin timer to detect future
path degrading.

Flag protected by a new flag --quic_path_degrading_alarm2.

Manual merge internal change: 193990670

Bug:  835444 
Change-Id: Idf487fafb10ccd61551f4a9905714ff83bd91cb9
Reviewed-on: https://chromium-review.googlesource.com/1025143
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553315}
[modify] https://crrev.com/de2960fc0bba2ae13035f8090aeac7c377eddf7f/net/quic/core/quic_connection.cc
[modify] https://crrev.com/de2960fc0bba2ae13035f8090aeac7c377eddf7f/net/quic/core/quic_connection.h
[modify] https://crrev.com/de2960fc0bba2ae13035f8090aeac7c377eddf7f/net/quic/core/quic_connection_test.cc
[modify] https://crrev.com/de2960fc0bba2ae13035f8090aeac7c377eddf7f/net/quic/core/quic_flags_list.h
[modify] https://crrev.com/de2960fc0bba2ae13035f8090aeac7c377eddf7f/net/quic/core/quic_sent_packet_manager.cc
[modify] https://crrev.com/de2960fc0bba2ae13035f8090aeac7c377eddf7f/net/quic/core/quic_sent_packet_manager_test.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aba4a831bcfd2345c16fdc46efabf210dcd6c8f9

commit aba4a831bcfd2345c16fdc46efabf210dcd6c8f9
Author: Zhongyi Shi <zhongyi@chromium.org>
Date: Mon Apr 30 20:29:08 2018

Migrate for path degrading when a new network is connected.

Attempt connection migration by calling OnPathDegrading if the path is
still degrading when a new network is connected.

Bug:  835444 
Change-Id: I3e37d664019af21e7a61d9b49a0fb92d936e6141
Reviewed-on: https://chromium-review.googlesource.com/1026691
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554859}
[modify] https://crrev.com/aba4a831bcfd2345c16fdc46efabf210dcd6c8f9/net/quic/chromium/quic_chromium_client_session.cc
[modify] https://crrev.com/aba4a831bcfd2345c16fdc46efabf210dcd6c8f9/net/quic/chromium/quic_stream_factory_test.cc

NextAction: 2018-05-09
The change in Comment 3 landed in 68.0.3416.0. Cronet new release is in the process to pick up 68_0_3417_3.


The NextAction date has arrived: 2018-05-09
Status: Fixed (was: Assigned)

Sign in to add a comment