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

Issue 605737 link

Starred by 0 users

Issue metadata

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



Sign in to add a comment

QUIC doesn't take request priority into account in doing DNS requests while setting up a stream

Project Member Reported by rdsmith@chromium.org, Apr 21 2016

Issue description

In HttpStreamFactoryImpl::DoInitConnection, if the function determines that QUIC should be used to make the connection, it calls:

    int rv =
        quic_request_.Request(destination, request_info_.privacy_mode,
                              ssl_config->GetCertVerifyFlags(), url,
                              request_info_.method, net_log_, io_callback_);


Noticeably absent from this call is any note of the request priority.  AIUI, QUIC doesn't do any network requests for the connection proper; all network activity is delayed until the first packet is sent.  However, it does do DNS resolution to setup its own internal state (in QuicStreamFactory::Job::DoResolveHost) and DNS resolution does indeed take a priority, which should probably be inherited from the request that prompted the connection (as it is for the other methods of making a connection initiated from DoInitConnection()).

However, while I'm clear this is a bug, I'm not sure of the priority of the fix.  DNS resolution doesn't take up a lot of network resources, but it can take other resources (router slots, threads, etc.) and if it can take up resources it can compete for them, in which case we want the higher priority resolutions happening first.  Julia, can you comment on the value of this fix?


 

Comment 1 by rch@chromium.org, Apr 21 2016

Owner: juliatut...@chromium.org
Thanks for finding this!

Assigning to Julia. Once you comment on the value of this fix, assign it back to me and I'll find someone to fix it (if necessary).
I'm not really sure how to figure out the value of the fix besides trying it and seeing the change.

We do have some JobQueueTime histograms that might tell us how much changing the DNS request priority varies the latency; I'll take a look at those in a bit.

I'd suggest we just go ahead and do it, if it's not too much work on the QUIC side.
Owner: ----

Sign in to add a comment