New issue
Advanced search Search tips

Issue 738232 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 689762



Sign in to add a comment

Do not create alternative service job if AlternativeServiceInfo does not contain any client supported version

Project Member Reported by zhongyi@chromium.org, Jun 29 2017

Issue description

HttpStreamFactoryImpl::JobController should filter out AlternativeServiceInfo that does not contain a client supported QUIC version. 

When HttpServerProperties stores AlternativeServiceInfo which contains a list of advertised QUIC versions by the server, there is at least one QUIC version supported by Chrome. This version list is persisted to disk and reload to memory when Chrome restarts. If an update/restart happens, and Chrome happens to migrate supporting a QUIC_VERSION_A to QUIC_VERSION_B. It could be possible that the version list cached in HttpServerProperties doesn't contain VERSION_B but VERSION_A. We should not try creating alternative job for those AlternativeServiceInfo.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 5 2017

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

commit ef3f4ce5a709ebccc5c88923c2fc45e969865af2
Author: zhongyi <zhongyi@chromium.org>
Date: Wed Jul 05 23:53:28 2017

JobController: do not create alternative job for those AlternativeServiceInfo
whose advertised QUIC version does not contain any supported version by
the net stack.

If the origin has more than one AlternativeServiceInfo(s), the one with
no client support will be ingore. If no AlternativeServiceInfo has client
support, the JobController will skip creating QUIC alternative job.

BUG= 738232 

Review-Url: https://codereview.chromium.org/2964603002
Cr-Commit-Position: refs/heads/master@{#484373}

[modify] https://crrev.com/ef3f4ce5a709ebccc5c88923c2fc45e969865af2/components/grpc_support/test/get_stream_engine.cc
[modify] https://crrev.com/ef3f4ce5a709ebccc5c88923c2fc45e969865af2/net/http/http_stream_factory_impl_job_controller.cc
[modify] https://crrev.com/ef3f4ce5a709ebccc5c88923c2fc45e969865af2/net/http/http_stream_factory_impl_job_controller.h
[modify] https://crrev.com/ef3f4ce5a709ebccc5c88923c2fc45e969865af2/net/http/http_stream_factory_impl_job_controller_unittest.cc
[modify] https://crrev.com/ef3f4ce5a709ebccc5c88923c2fc45e969865af2/net/quic/chromium/quic_network_transaction_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment