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

Issue 2789093003: Mark QUIC broken when the network blackholes after the handshake (Closed)

Created:
3 years, 8 months ago by Ryan Hamilton
Modified:
3 years, 8 months ago
Reviewers:
Bence, Jana, Ilya Sherman, mmenke
CC:
chromium-reviews, cbentzel+watch_chromium.org, bnc+watch_chromium.org, asvitkine+watch_chromium.org, mmenke, net-reviews_chromium.org, ianswett
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Mark QUIC broken when the network blackholes after the handshake, and retry such requests in HttpNetworkTransaction. Only when enable via the mark_quic_broken_when_network_blackholed finch param is enabled. BUG=705031 Review-Url: https://codereview.chromium.org/2789093003 Cr-Commit-Position: refs/heads/master@{#463067} Committed: https://chromium.googlesource.com/chromium/src/+/9ecde09b169332d9ebd04dba35fb4bd41b129840

Patch Set 1 #

Total comments: 10

Patch Set 2 : Address comments #

Total comments: 33

Patch Set 3 : Address comments from jri #

Patch Set 4 : better comment #

Patch Set 5 : Rebase #

Patch Set 6 : Move the logic to the session #

Patch Set 7 : Rename mark_quic_broken_when_network_suspected to mark_quic_broken_when_network_blackholes #

Total comments: 4

Patch Set 8 : jana's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+926 lines, -24 lines) Patch
M components/network_session_configurator/network_session_configurator.cc View 1 2 3 4 5 6 2 chunks +10 lines, -0 lines 0 comments Download
M components/network_session_configurator/network_session_configurator_unittest.cc View 1 2 3 4 5 6 2 chunks +13 lines, -0 lines 0 comments Download
M net/base/net_error_list.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/http/http_network_session.h View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M net/http/http_network_session.cc View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M net/http/http_network_transaction.cc View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M net/http/http_server_properties.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/chromium/quic_chromium_client_session.cc View 1 2 3 4 5 6 7 2 chunks +12 lines, -5 lines 0 comments Download
M net/quic/chromium/quic_http_stream.h View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M net/quic/chromium/quic_http_stream.cc View 1 2 3 4 5 6 7 5 chunks +21 lines, -3 lines 0 comments Download
M net/quic/chromium/quic_network_transaction_unittest.cc View 1 2 3 4 5 6 4 chunks +777 lines, -0 lines 0 comments Download
M net/quic/chromium/quic_stream_factory.h View 1 2 3 4 5 6 7 chunks +14 lines, -5 lines 0 comments Download
M net/quic/chromium/quic_stream_factory.cc View 1 2 3 4 5 6 5 chunks +17 lines, -5 lines 0 comments Download
M net/quic/chromium/quic_stream_factory_peer.h View 1 2 3 4 2 chunks +6 lines, -2 lines 0 comments Download
M net/quic/chromium/quic_stream_factory_peer.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M net/quic/chromium/quic_stream_factory_test.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/chromium/quic_test_packet_maker.h View 1 1 chunk +7 lines, -0 lines 0 comments Download
M net/quic/chromium/quic_test_packet_maker.cc View 1 2 chunks +13 lines, -1 line 0 comments Download
M net/quic/chromium/test_task_runner.h View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M net/quic/chromium/test_task_runner.cc View 1 2 3 4 2 chunks +4 lines, -2 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 39 (20 generated)
Ryan Hamilton
jri: Please review. Feel free to ping me in person with questions. isherman: histograms.xml OWNERS, ...
3 years, 8 months ago (2017-04-03 18:43:14 UTC) #2
mmenke
Driveby comment https://codereview.chromium.org/2789093003/diff/1/net/http/http_network_transaction.cc File net/http/http_network_transaction.cc (right): https://codereview.chromium.org/2789093003/diff/1/net/http/http_network_transaction.cc#newcode1544 net/http/http_network_transaction.cc:1544: error = ERR_QUIC_PROTOCOL_ERROR; I don't think this ...
3 years, 8 months ago (2017-04-03 18:47:47 UTC) #4
mmenke
https://codereview.chromium.org/2789093003/diff/1/net/http/http_network_transaction.cc File net/http/http_network_transaction.cc (right): https://codereview.chromium.org/2789093003/diff/1/net/http/http_network_transaction.cc#newcode1544 net/http/http_network_transaction.cc:1544: error = ERR_QUIC_PROTOCOL_ERROR; Also, a comment on what one ...
3 years, 8 months ago (2017-04-03 18:48:34 UTC) #5
Bence
Driveby comments. https://codereview.chromium.org/2789093003/diff/1/net/quic/chromium/quic_http_stream.h File net/quic/chromium/quic_http_stream.h (right): https://codereview.chromium.org/2789093003/diff/1/net/quic/chromium/quic_http_stream.h#newcode154 net/quic/chromium/quic_http_stream.h:154: QuicServerId server_id_; // The ID of the ...
3 years, 8 months ago (2017-04-03 19:02:59 UTC) #7
Ilya Sherman
histograms.xml lgtm
3 years, 8 months ago (2017-04-03 21:05:13 UTC) #8
Ryan Hamilton
Thanks for the drive-by! https://codereview.chromium.org/2789093003/diff/1/net/http/http_network_transaction.cc File net/http/http_network_transaction.cc (right): https://codereview.chromium.org/2789093003/diff/1/net/http/http_network_transaction.cc#newcode1544 net/http/http_network_transaction.cc:1544: error = ERR_QUIC_PROTOCOL_ERROR; On 2017/04/03 ...
3 years, 8 months ago (2017-04-05 19:26:20 UTC) #9
Bence
https://codereview.chromium.org/2789093003/diff/1/net/quic/chromium/quic_http_stream_test.cc File net/quic/chromium/quic_http_stream_test.cc (right): https://codereview.chromium.org/2789093003/diff/1/net/quic/chromium/quic_http_stream_test.cc#newcode596 net/quic/chromium/quic_http_stream_test.cc:596: bool mark_quic_broken_when_network_suspected_; On 2017/04/05 19:26:20, Ryan Hamilton wrote: > ...
3 years, 8 months ago (2017-04-05 23:49:46 UTC) #10
Jana
Thanks much, Ryan! This looks great. Happy to chat in person tomorrow to go over ...
3 years, 8 months ago (2017-04-06 02:29:18 UTC) #11
Ryan Hamilton
https://codereview.chromium.org/2789093003/diff/20001/net/http/http_network_transaction.cc File net/http/http_network_transaction.cc (right): https://codereview.chromium.org/2789093003/diff/20001/net/http/http_network_transaction.cc#newcode1537 net/http/http_network_transaction.cc:1537: DCHECK(GetResponseHeaders() == nullptr); On 2017/04/06 02:29:18, Jana wrote: > ...
3 years, 8 months ago (2017-04-06 03:43:39 UTC) #13
Jana
lgtm Thanks! https://codereview.chromium.org/2789093003/diff/20001/net/quic/chromium/quic_http_stream.cc File net/quic/chromium/quic_http_stream.cc (right): https://codereview.chromium.org/2789093003/diff/20001/net/quic/chromium/quic_http_stream.cc#newcode865 net/quic/chromium/quic_http_stream.cc:865: error == QUIC_TOO_MANY_RTOS; On 2017/04/06 03:43:38, Ryan ...
3 years, 8 months ago (2017-04-06 23:55:26 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2789093003/80001
3 years, 8 months ago (2017-04-06 23:56:38 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/185915) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 8 months ago (2017-04-06 23:59:42 UTC) #19
Ryan Hamilton
jri: As discussed, this is cleaned up and hopefully better. I've moved the logic around, ...
3 years, 8 months ago (2017-04-07 21:39:13 UTC) #25
Jana
Looks great and definitely simpler to reason about! Thanks. One real comment. https://codereview.chromium.org/2789093003/diff/140001/net/quic/chromium/quic_chromium_client_session.cc File net/quic/chromium/quic_chromium_client_session.cc ...
3 years, 8 months ago (2017-04-07 21:59:29 UTC) #26
Ryan Hamilton
https://codereview.chromium.org/2789093003/diff/140001/net/quic/chromium/quic_chromium_client_session.cc File net/quic/chromium/quic_chromium_client_session.cc (right): https://codereview.chromium.org/2789093003/diff/140001/net/quic/chromium/quic_chromium_client_session.cc#newcode996 net/quic/chromium/quic_chromium_client_session.cc:996: } else { On 2017/04/07 21:59:29, Jana wrote: > ...
3 years, 8 months ago (2017-04-07 22:37:20 UTC) #29
Jana
lgtm Awesome -- thanks much!
3 years, 8 months ago (2017-04-07 22:49:20 UTC) #30
Ryan Hamilton
https://codereview.chromium.org/2789093003/diff/1/net/quic/chromium/quic_http_stream_test.cc File net/quic/chromium/quic_http_stream_test.cc (right): https://codereview.chromium.org/2789093003/diff/1/net/quic/chromium/quic_http_stream_test.cc#newcode596 net/quic/chromium/quic_http_stream_test.cc:596: bool mark_quic_broken_when_network_suspected_; On 2017/04/05 23:49:46, Bence wrote: > On ...
3 years, 8 months ago (2017-04-08 00:07:23 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2789093003/160001
3 years, 8 months ago (2017-04-08 00:08:03 UTC) #36
commit-bot: I haz the power
3 years, 8 months ago (2017-04-08 00:19:22 UTC) #39
Message was sent while issue was closed.
Committed patchset #8 (id:160001) as
https://chromium.googlesource.com/chromium/src/+/9ecde09b169332d9ebd04dba35fb...

Powered by Google App Engine
This is Rietveld 408576698