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

Issue 818050 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Handle packet read error with connection migration v2

Project Member Reported by zhongyi@chromium.org, Mar 2 2018

Issue description

CMV2 currently handles QUIC packet write error which are believed to be related to network. This logic should also apply to packet read error. 
 
Labels: -Pri-2 Pri-3
Lower down the priority, as we think PacketReadError after handshake is low.  
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 10 2018

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

commit 6bdb765e4834447e7916d0b0d93670d36a6c8970
Author: Zhongyi Shi <zhongyi@chromium.org>
Date: Sat Mar 10 02:24:57 2018

Do not close connection when receiving read errors during pending
migration. Also add more granular histograms to collect data on
PacketReader errors.

Bug: 818050
Change-Id: I39d736967f1a3347e964c09862982941e4f0d60d
Reviewed-on: https://chromium-review.googlesource.com/956663
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542322}
[modify] https://crrev.com/6bdb765e4834447e7916d0b0d93670d36a6c8970/net/quic/chromium/quic_chromium_client_session.cc
[modify] https://crrev.com/6bdb765e4834447e7916d0b0d93670d36a6c8970/tools/metrics/histograms/histograms.xml

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 11

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

commit f3d6cddb68a67df9255b0384286cd3a1c3a8004d
Author: Zhongyi Shi <zhongyi@chromium.org>
Date: Wed Jul 11 03:30:02 2018

Quic Connection Migration: remove |migration_pending_|.

Currently |migration_pending_| is mixing three invariants together:
- connection migration is triggered but no alternate network is available for migration.
- connection migration on write error posted, but other direct migration completes, prevent the posted task from being executed.
- connection migration on write error is in progress, read error should be ignored.

This change explicitly separate out those three invariants:
- |wait_for_new_network_| tracks if a migration is triggered and no alternate network is available
- MigrateSessionOnWriteError(posted task to handle write error) takes the writer which encountered the write error, and compares with the active writer in use to determine if the migration should be aborted.
- |ignore_read_error_| tracks if read error should be ignored.

Bug: 818050
Change-Id: Ic6d1c4c95f9da2207901ba985fb662ab0d4abc3c
Reviewed-on: https://chromium-review.googlesource.com/1129549
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574056}
[modify] https://crrev.com/f3d6cddb68a67df9255b0384286cd3a1c3a8004d/net/quic/chromium/quic_chromium_client_session.cc
[modify] https://crrev.com/f3d6cddb68a67df9255b0384286cd3a1c3a8004d/net/quic/chromium/quic_chromium_client_session.h
[modify] https://crrev.com/f3d6cddb68a67df9255b0384286cd3a1c3a8004d/net/quic/chromium/quic_chromium_packet_writer.cc
[modify] https://crrev.com/f3d6cddb68a67df9255b0384286cd3a1c3a8004d/net/quic/chromium/quic_stream_factory_test.cc

Sign in to add a comment