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

Issue 2766603004: QUIC: mark QUIC handshake failed if connection is closed after CryptoConnect (Closed)

Created:
3 years, 9 months ago by Zhongyi Shi
Modified:
3 years, 9 months ago
Reviewers:
Ryan Hamilton, xunjieli
CC:
chromium-reviews, cbentzel+watch_chromium.org, net-reviews_chromium.org, erikchen, xunjieli
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

QUIC: mark QUIC handshake failed if connection is closed after CryptoConnect so that QuicStreamFactory::Job will not hang. Currently, if QuicConnection is closed during crypto_stream_->CryptConnect(), it will silently post a task to notify QuicStreamFactory to of the session close without notifying the QuicStreamFactory::Job. This causes QuicStreamFactory::Job to hang. Subsequent alt jobs will be bound to the hanging QUIC job, and will never win race over TCP and get cleaned up. BUG=700617 Review-Url: https://codereview.chromium.org/2766603004 Cr-Commit-Position: refs/heads/master@{#459271} Committed: https://chromium.googlesource.com/chromium/src/+/363c91c57a5ae99e63a138555afa83dc02262325

Patch Set 1 #

Total comments: 9

Patch Set 2 : address rch's comments, add tests retry Request after failed crypto connect #

Patch Set 3 : address rch's comments #

Total comments: 6

Patch Set 4 : Test retrying requests won't hang in QuicStreamFactoryTest #

Total comments: 4

Patch Set 5 : nits #

Patch Set 6 : disable QuicUploadToAlternativeProxyServer #

Total comments: 7

Patch Set 7 : address xunjieli's comments #

Total comments: 2

Patch Set 8 : nits #

Patch Set 9 : add a TODO #

Unified diffs Side-by-side diffs Delta from patch set Stats (+168 lines, -1 line) Patch
M net/quic/chromium/mock_crypto_client_stream_factory.cc View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M net/quic/chromium/quic_chromium_client_session.cc View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M net/quic/chromium/quic_network_transaction_unittest.cc View 1 2 3 4 5 6 1 chunk +4 lines, -1 line 0 comments Download
M net/quic/chromium/quic_stream_factory_test.cc View 1 2 3 4 2 chunks +134 lines, -0 lines 0 comments Download
M net/quic/test_tools/mock_crypto_client_stream.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -0 lines 0 comments Download
M net/quic/test_tools/mock_crypto_client_stream.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_stream_factory_peer.h View 1 chunk +3 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_stream_factory_peer.cc View 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 35 (17 generated)
Zhongyi Shi
Ryan, ptal! I will add one more regression test in QuicNetworkTransactionTests if this patch looks ...
3 years, 9 months ago (2017-03-22 00:30:44 UTC) #2
Ryan Hamilton
Nice! https://codereview.chromium.org/2766603004/diff/1/net/quic/chromium/mock_crypto_client_stream_factory.h File net/quic/chromium/mock_crypto_client_stream_factory.h (right): https://codereview.chromium.org/2766603004/diff/1/net/quic/chromium/mock_crypto_client_stream_factory.h#newcode56 net/quic/chromium/mock_crypto_client_stream_factory.h:56: // MockCryptoClientStream in tests. nit: Instead of adding ...
3 years, 9 months ago (2017-03-22 02:38:48 UTC) #3
Zhongyi Shi
Thanks Ryan for the quick review. Add one more tests to do synchronous DNS resolution ...
3 years, 9 months ago (2017-03-22 07:00:11 UTC) #4
Ryan Hamilton
https://codereview.chromium.org/2766603004/diff/1/net/quic/chromium/quic_stream_factory_test.cc File net/quic/chromium/quic_stream_factory_test.cc (right): https://codereview.chromium.org/2766603004/diff/1/net/quic/chromium/quic_stream_factory_test.cc#newcode1832 net/quic/chromium/quic_stream_factory_test.cc:1832: EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); On 2017/03/22 07:00:11, Zhongyi Shi wrote: > ...
3 years, 9 months ago (2017-03-22 14:13:01 UTC) #5
Zhongyi Shi
Thanks for the review, comments addressed. PTAL https://codereview.chromium.org/2766603004/diff/1/net/quic/chromium/quic_stream_factory_test.cc File net/quic/chromium/quic_stream_factory_test.cc (right): https://codereview.chromium.org/2766603004/diff/1/net/quic/chromium/quic_stream_factory_test.cc#newcode1832 net/quic/chromium/quic_stream_factory_test.cc:1832: EXPECT_FALSE(HasActiveJob(host_port_pair_, privacy_mode_)); ...
3 years, 9 months ago (2017-03-22 18:53:10 UTC) #8
Ryan Hamilton
lgtm mod two nits https://codereview.chromium.org/2766603004/diff/100001/net/quic/chromium/quic_stream_factory_test.cc File net/quic/chromium/quic_stream_factory_test.cc (right): https://codereview.chromium.org/2766603004/diff/100001/net/quic/chromium/quic_stream_factory_test.cc#newcode1828 net/quic/chromium/quic_stream_factory_test.cc:1828: // Create request, should fail ...
3 years, 9 months ago (2017-03-22 19:24:38 UTC) #9
Zhongyi Shi
Thanks for the quick review, landing now! https://codereview.chromium.org/2766603004/diff/100001/net/quic/chromium/quic_stream_factory_test.cc File net/quic/chromium/quic_stream_factory_test.cc (right): https://codereview.chromium.org/2766603004/diff/100001/net/quic/chromium/quic_stream_factory_test.cc#newcode1828 net/quic/chromium/quic_stream_factory_test.cc:1828: // Create ...
3 years, 9 months ago (2017-03-22 20:27:51 UTC) #10
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/2766603004/120001
3 years, 9 months ago (2017-03-22 20:28:44 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/412531)
3 years, 9 months ago (2017-03-22 21:06:06 UTC) #15
xunjieli
https://codereview.chromium.org/2766603004/diff/160001/net/quic/chromium/quic_chromium_client_session.cc File net/quic/chromium/quic_chromium_client_session.cc (right): https://codereview.chromium.org/2766603004/diff/160001/net/quic/chromium/quic_chromium_client_session.cc#newcode673 net/quic/chromium/quic_chromium_client_session.cc:673: if (!connection()->connected()) nit: Maybe add a comment here explaining ...
3 years, 9 months ago (2017-03-23 16:18:02 UTC) #23
Zhongyi Shi
Helen, thanks for reviewing, ptal! https://codereview.chromium.org/2766603004/diff/160001/net/quic/chromium/quic_chromium_client_session.cc File net/quic/chromium/quic_chromium_client_session.cc (right): https://codereview.chromium.org/2766603004/diff/160001/net/quic/chromium/quic_chromium_client_session.cc#newcode673 net/quic/chromium/quic_chromium_client_session.cc:673: if (!connection()->connected()) On 2017/03/23 ...
3 years, 9 months ago (2017-03-23 17:28:51 UTC) #24
xunjieli
https://codereview.chromium.org/2766603004/diff/160001/net/quic/test_tools/mock_crypto_client_stream.h File net/quic/test_tools/mock_crypto_client_stream.h (right): https://codereview.chromium.org/2766603004/diff/160001/net/quic/test_tools/mock_crypto_client_stream.h#newcode39 net/quic/test_tools/mock_crypto_client_stream.h:39: // USE_DEFAULT_CRYPTO_STREAM indicates that MockCryptoClientStreamFactory On 2017/03/23 17:28:50, Zhongyi ...
3 years, 9 months ago (2017-03-23 17:43:37 UTC) #25
Zhongyi Shi
https://codereview.chromium.org/2766603004/diff/180001/net/quic/chromium/quic_chromium_client_session.cc File net/quic/chromium/quic_chromium_client_session.cc (right): https://codereview.chromium.org/2766603004/diff/180001/net/quic/chromium/quic_chromium_client_session.cc#newcode675 net/quic/chromium/quic_chromium_client_session.cc:675: // synchronously with ERR_QUIC_HANDSHAKE_FAILED so that QuicStreamFactory::Job On 2017/03/23 ...
3 years, 9 months ago (2017-03-23 19:20:33 UTC) #26
xunjieli
Deferring this to Ryan. I didn't look at the tests.
3 years, 9 months ago (2017-03-23 21:43:41 UTC) #27
Ryan Hamilton
On 2017/03/23 21:43:41, xunjieli wrote: > Deferring this to Ryan. I didn't look at the ...
3 years, 9 months ago (2017-03-23 21:55:12 UTC) #28
Zhongyi Shi
On 2017/03/23 21:55:12, Ryan Hamilton wrote: > On 2017/03/23 21:43:41, xunjieli wrote: > > Deferring ...
3 years, 9 months ago (2017-03-23 22:03:18 UTC) #29
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/2766603004/220001
3 years, 9 months ago (2017-03-23 22:04:04 UTC) #32
commit-bot: I haz the power
3 years, 9 months ago (2017-03-23 23:17:01 UTC) #35
Message was sent while issue was closed.
Committed patchset #9 (id:220001) as
https://chromium.googlesource.com/chromium/src/+/363c91c57a5ae99e63a138555afa...

Powered by Google App Engine
This is Rietveld 408576698