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

Issue 8230037: Send PING to check the status of the SPDY connection. (Closed)

Created:
9 years, 2 months ago by ramant (doing other things)
Modified:
9 years, 2 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, eroman, darin-cc_chromium.org, mmenke
Visibility:
Public.

Description

Send PING to check the status of the SPDY connection. Make SpdySessions more resilient to connections dying. The following comment describes the reasoning behind the preface and trailing PINGs (design evolved during discussions with/between jar, roberto and willchan). http://code.google.com/p/chromium/issues/detail?id=89725#c6 connection_at_risk_of_loss_ms_ is a knob which could be used to control the sending of preface-PING. It is set to 0ms so that a PING is sent whenever we send a SYN_STREAM. BUG=89725, 34752 R=willchan,jar TEST=network unit tests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=105723

Patch Set 1 #

Total comments: 8

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Total comments: 14

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Total comments: 12

Patch Set 9 : '' #

Patch Set 10 : '' #

Patch Set 11 : '' #

Patch Set 12 : '' #

Patch Set 13 : '' #

Patch Set 14 : '' #

Total comments: 56

Patch Set 15 : '' #

Patch Set 16 : '' #

Patch Set 17 : '' #

Total comments: 24

Patch Set 18 : '' #

Patch Set 19 : '' #

Patch Set 20 : '' #

Patch Set 21 : '' #

Patch Set 22 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+462 lines, -5 lines) Patch
M net/base/net_error_list.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -0 lines 0 comments Download
M net/base/net_log_event_type_list.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -0 lines 0 comments Download
M net/base/run_all_unittests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +3 lines, -0 lines 0 comments Download
M net/http/http_network_layer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +3 lines, -0 lines 0 comments Download
M net/http/http_network_transaction.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M net/spdy/spdy_session.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8 chunks +124 lines, -1 line 0 comments Download
M net/spdy/spdy_session.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 14 chunks +170 lines, -1 line 0 comments Download
M net/spdy/spdy_session_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +140 lines, -3 lines 0 comments Download
M net/spdy/spdy_test_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -0 lines 0 comments Download
M net/spdy/spdy_test_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +7 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (0 generated)
willchan no longer on Chromium
http://codereview.chromium.org/8230037/diff/1/net/base/net_log_event_type_list.h File net/base/net_log_event_type_list.h (right): http://codereview.chromium.org/8230037/diff/1/net/base/net_log_event_type_list.h#newcode857 net/base/net_log_event_type_list.h:857: // "stream_id": <The stream ID for the window update>, ...
9 years, 2 months ago (2011-10-12 05:41:06 UTC) #1
willchan no longer on Chromium
http://codereview.chromium.org/8230037/diff/10006/net/base/net_log_event_type_list.h File net/base/net_log_event_type_list.h (right): http://codereview.chromium.org/8230037/diff/10006/net/base/net_log_event_type_list.h#newcode857 net/base/net_log_event_type_list.h:857: // "unique_id": <The unique_id of the PING message>, You ...
9 years, 2 months ago (2011-10-13 06:38:39 UTC) #2
willchan no longer on Chromium
http://codereview.chromium.org/8230037/diff/10006/net/spdy/spdy_session.cc File net/spdy/spdy_session.cc (right): http://codereview.chromium.org/8230037/diff/10006/net/spdy/spdy_session.cc#newcode1500 net/spdy/spdy_session.cc:1500: const base::TimeDelta kInterval = base::TimeDelta::FromMilliseconds(10000); On 2011/10/13 06:38:39, willchan ...
9 years, 2 months ago (2011-10-13 15:10:53 UTC) #3
willchan no longer on Chromium
I'll be out until after noon at training. Thanks for working on this! I'm worried ...
9 years, 2 months ago (2011-10-13 15:47:17 UTC) #4
ramant (doing other things)
Hi willchan, Changed the code to send PING from SpdyHttpStream::OnSendHeadersComplete and made all the other ...
9 years, 2 months ago (2011-10-13 21:41:14 UTC) #5
jar (doing other things)
Comments below based on our team-programming discussion. http://codereview.chromium.org/8230037/diff/25001/net/http/http_network_layer.cc File net/http/http_network_layer.cc (right): http://codereview.chromium.org/8230037/diff/25001/net/http/http_network_layer.cc#newcode89 net/http/http_network_layer.cc:89: SpdySession::set_send_ping_for_every_request(true); As ...
9 years, 2 months ago (2011-10-14 19:59:07 UTC) #6
willchan no longer on Chromium
http://codereview.chromium.org/8230037/diff/25001/net/spdy/spdy_session.cc File net/spdy/spdy_session.cc (right): http://codereview.chromium.org/8230037/diff/25001/net/spdy/spdy_session.cc#newcode187 net/spdy/spdy_session.cc:187: ~NetLogSpdyPingParameter() {} On 2011/10/14 19:59:07, jar wrote: > Question ...
9 years, 2 months ago (2011-10-14 22:49:21 UTC) #7
willchan no longer on Chromium
http://codereview.chromium.org/8230037/diff/25001/net/spdy/spdy_session.cc File net/spdy/spdy_session.cc (right): http://codereview.chromium.org/8230037/diff/25001/net/spdy/spdy_session.cc#newcode1610 net/spdy/spdy_session.cc:1610: DCHECK(base::TimeTicks::Now() - received_data_time_ > kHungInterval); On 2011/10/14 19:59:07, jar ...
9 years, 2 months ago (2011-10-14 23:13:11 UTC) #8
ramant (doing other things)
Hi willchan and jar, Made all the changes you had suggested. All net unittests have ...
9 years, 2 months ago (2011-10-14 23:42:45 UTC) #9
willchan no longer on Chromium
I have to run off. I'll do another pass later tonight. I'll take a look ...
9 years, 2 months ago (2011-10-15 00:26:03 UTC) #10
willchan no longer on Chromium
Raman, there doesn't appear to be any unit testing of the timeout and hang recovery ...
9 years, 2 months ago (2011-10-15 08:08:03 UTC) #11
jar (doing other things)
The protocol logic LGTM. I'm quite convinced the state machine logic is correct, but I'm ...
9 years, 2 months ago (2011-10-15 09:00:52 UTC) #12
willchan no longer on Chromium
LGTM. Please make sure you manually test this properly. I want to make sure this ...
9 years, 2 months ago (2011-10-15 20:17:40 UTC) #13
jar (doing other things)
Response to comments by WillChan. http://codereview.chromium.org/8230037/diff/27005/net/spdy/spdy_session.cc File net/spdy/spdy_session.cc (right): http://codereview.chromium.org/8230037/diff/27005/net/spdy/spdy_session.cc#newcode615 net/spdy/spdy_session.cc:615: last_sent_was_ping_ = false; I'm ...
9 years, 2 months ago (2011-10-15 23:25:10 UTC) #14
ramant (doing other things)
hi willchan and jar, Many many thanks for your comments. Kudos to you both. Tested ...
9 years, 2 months ago (2011-10-15 23:33:11 UTC) #15
willchan no longer on Chromium
Great, everything sounds good. The only change I think that's worth making at this time ...
9 years, 2 months ago (2011-10-15 23:52:28 UTC) #16
ramant (doing other things)
> The only change I think that's worth making at this time is setting > ...
9 years, 2 months ago (2011-10-16 05:53:49 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rtenneti@chromium.org/8230037/43007
9 years, 2 months ago (2011-10-16 05:54:09 UTC) #18
commit-bot: I haz the power
9 years, 2 months ago (2011-10-16 08:05:10 UTC) #19
Change committed as 105723

Powered by Google App Engine
This is Rietveld 408576698