Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Issue 1208933004: QUIC - disable QUIC under recent pathological connection errors. (Closed)

Created:
5 years, 5 months ago by Buck
Modified:
5 years, 5 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, asvitkine+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

QUIC - disable QUIC under recent pathological connection errors. The problematic cases are: 1) timeouts with streams open. 2) public reset post crypto handshake. In each case, a K of N thresholding is applied, for example disable QUIC if two of recent twenty connections experienced the problem. Goal - avoid QUIC for users on networks that have pathological impediments. + Initially, this is configured in a measurment only mode, to determine what threshold values seem most promising. The twenty most recent connections will be considered, and tracked via UMA histograms. BUG=505891 Committed: https://crrev.com/1e53b646828a7ec8b4e1465b0f203cf89943ac16 Cr-Commit-Position: refs/heads/master@{#337926}

Patch Set 1 #

Total comments: 50

Patch Set 2 : Revised after first round of review feedback (no net-internals yet). #

Patch Set 3 : net-internals additions #

Total comments: 12

Patch Set 4 : Revised after second round of review feedback. #

Patch Set 5 : Move dead code out of OnHandshakeConfirmed to where it will actually work (spotted by Ryan). #

Total comments: 26

Patch Set 6 : Revised after third round of review feedback. #

Total comments: 6

Patch Set 7 : Revised after fourth round of review feedback. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+931 lines, -3 lines) Patch
M chrome/browser/resources/net_internals/quic_view.html View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M net/http/http_network_session.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M net/http/http_network_session.cc View 1 2 3 4 chunks +13 lines, -0 lines 0 comments Download
M net/quic/quic_client_session.h View 1 2 3 4 5 3 chunks +15 lines, -0 lines 0 comments Download
M net/quic/quic_client_session.cc View 1 3 chunks +4 lines, -0 lines 0 comments Download
M net/quic/quic_protocol.h View 1 2 3 2 chunks +5 lines, -1 line 0 comments Download
M net/quic/quic_stream_factory.h View 1 2 3 4 5 6 chunks +31 lines, -0 lines 0 comments Download
M net/quic/quic_stream_factory.cc View 1 2 3 4 5 4 chunks +109 lines, -2 lines 0 comments Download
M net/quic/quic_stream_factory_test.cc View 1 2 3 3 chunks +709 lines, -0 lines 0 comments Download
M net/quic/quic_utils.cc View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 3 chunks +39 lines, -0 lines 0 comments Download

Messages

Total messages: 27 (8 generated)
Buck
5 years, 5 months ago (2015-06-30 18:28:19 UTC) #2
Ryan Hamilton
SWEET! This is great. I can't wait to see what we learn! Oh! Now that ...
5 years, 5 months ago (2015-06-30 18:55:32 UTC) #4
Buck
I've addressed the first round of feedback, except for the net-internals. https://codereview.chromium.org/1208933004/diff/1/net/http/http_network_session.h File net/http/http_network_session.h (right): ...
5 years, 5 months ago (2015-07-01 19:06:20 UTC) #5
Ryan Hamilton
Looking good. A few small comments. https://codereview.chromium.org/1208933004/diff/1/net/quic/quic_client_session.h File net/quic/quic_client_session.h (right): https://codereview.chromium.org/1208933004/diff/1/net/quic/quic_client_session.h#newcode49 net/quic/quic_client_session.h:49: enum QuicClientSessionEpitaph { ...
5 years, 5 months ago (2015-07-06 18:25:41 UTC) #6
Buck
Issues addressed. I think I did the correct thing in quic_view.html, but if you could ...
5 years, 5 months ago (2015-07-06 21:39:32 UTC) #7
Buck
FYI: using some one-off code changes in my local build, I verified that the optional ...
5 years, 5 months ago (2015-07-06 23:03:56 UTC) #8
Ryan Hamilton
lgtm https://codereview.chromium.org/1208933004/diff/80001/net/quic/quic_client_session.h File net/quic/quic_client_session.h (right): https://codereview.chromium.org/1208933004/diff/80001/net/quic/quic_client_session.h#newcode47 net/quic/quic_client_session.h:47: // Reasons we may disable QUIC, that is ...
5 years, 5 months ago (2015-07-07 03:09:37 UTC) #9
Alexei Svitkine (slow)
https://codereview.chromium.org/1208933004/diff/80001/net/quic/quic_client_session.h File net/quic/quic_client_session.h (right): https://codereview.chromium.org/1208933004/diff/80001/net/quic/quic_client_session.h#newcode209 net/quic/quic_client_session.h:209: const QuicDisabledReason disabled_reason() const { return disabled_reason_; } Nit: ...
5 years, 5 months ago (2015-07-07 15:15:29 UTC) #11
Buck
Issues addressed, PTAL. https://codereview.chromium.org/1208933004/diff/80001/net/quic/quic_client_session.h File net/quic/quic_client_session.h (right): https://codereview.chromium.org/1208933004/diff/80001/net/quic/quic_client_session.h#newcode47 net/quic/quic_client_session.h:47: // Reasons we may disable QUIC, ...
5 years, 5 months ago (2015-07-07 18:38:49 UTC) #12
Alexei Svitkine (slow)
lgtm % remaining comments https://codereview.chromium.org/1208933004/diff/100001/tools/metrics/histograms/histograms.xml File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/1208933004/diff/100001/tools/metrics/histograms/histograms.xml#newcode22621 tools/metrics/histograms/histograms.xml:22621: +<histogram name="Net.QuicStreamFactory.PublicResetsPostHandshake" units="count"> Nit: Wouldn't ...
5 years, 5 months ago (2015-07-07 18:44:10 UTC) #13
Buck
https://codereview.chromium.org/1208933004/diff/100001/tools/metrics/histograms/histograms.xml File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/1208933004/diff/100001/tools/metrics/histograms/histograms.xml#newcode22621 tools/metrics/histograms/histograms.xml:22621: +<histogram name="Net.QuicStreamFactory.PublicResetsPostHandshake" units="count"> On 2015/07/07 18:44:09, Alexei Svitkine wrote: ...
5 years, 5 months ago (2015-07-07 18:55:20 UTC) #14
Buck
rch@, can you land this patch for me?
5 years, 5 months ago (2015-07-07 19:00:44 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1208933004/120001
5 years, 5 months ago (2015-07-07 19:07:12 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/76560)
5 years, 5 months ago (2015-07-07 19:16:42 UTC) #20
Buck
commit-bot rejected because I was missing an OWNER for quic_view.html. ermoman@ can you take a ...
5 years, 5 months ago (2015-07-07 19:47:17 UTC) #22
eroman
quick_view.html lgtm
5 years, 5 months ago (2015-07-08 18:52:36 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1208933004/120001
5 years, 5 months ago (2015-07-08 20:23:39 UTC) #25
commit-bot: I haz the power
Committed patchset #7 (id:120001)
5 years, 5 months ago (2015-07-08 22:39:46 UTC) #26
commit-bot: I haz the power
5 years, 5 months ago (2015-07-08 22:40:44 UTC) #27
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/1e53b646828a7ec8b4e1465b0f203cf89943ac16
Cr-Commit-Position: refs/heads/master@{#337926}

Powered by Google App Engine
This is Rietveld 408576698