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

Issue 129873010: Deprecate instead of close SPDY sessions upon network change. (Closed)

Created:
6 years, 11 months ago by pauljensen
Modified:
6 years, 10 months ago
Reviewers:
cmp, Johnny, Peter Mayo, akalin
CC:
chromium-reviews, cbentzel+watch_chromium.org
Visibility:
Public.

Description

Deprecate instead of close SPDY sessions upon network change. This brings our SPDY behavior for network changes more in line with our HTTP behavior where we only close idle sockets. The benefit of this is fewer SPDY streams interrupted with ERR_NETWORK_CHANGED while still maintaining the basic principle that after a network change new requests get routed properly to possibly newly available hosts (http://crbug.com/26156). For now this change only affects Android, Windows and iOS as these OSs appear to close TCP connections upon network disconnects. I'm avoiding applying this change to other OSs because it would lead to more sockets silently dying and waiting indefinitely rather than quickly failing upon network disconnects. BUG=166593 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=249349

Patch Set 1 : #

Total comments: 1

Patch Set 2 : Rework deprecation to be less intrusive and avoid making behavior on certain OSs worse #

Total comments: 2

Patch Set 3 : Clean up test #

Total comments: 6

Patch Set 4 : Rename MakeUnavailable and update comment #

Total comments: 4

Patch Set 5 : Address akalin's nits #

Patch Set 6 : sync (r249187) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+134 lines, -160 lines) Patch
M net/spdy/spdy_session.h View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M net/spdy/spdy_session.cc View 1 2 3 4 5 2 chunks +11 lines, -7 lines 0 comments Download
M net/spdy/spdy_session_pool.cc View 1 2 3 1 chunk +18 lines, -1 line 0 comments Download
M net/spdy/spdy_session_unittest.cc View 1 2 3 4 5 56 chunks +100 lines, -152 lines 0 comments Download

Messages

Total messages: 30 (0 generated)
pauljensen
Johnny, WDYT? I'll add more tests if you like the general idea of this change.
6 years, 11 months ago (2014-01-23 15:55:43 UTC) #1
Johnny
Couple thoughts: I think it'd be better to avoid mixing the GOAWAY transition with this ...
6 years, 11 months ago (2014-01-23 16:14:31 UTC) #2
pauljensen
On 2014/01/23 16:14:31, Johnny wrote: > Couple thoughts: I think it'd be better to avoid ...
6 years, 11 months ago (2014-01-23 17:21:25 UTC) #3
Johnny
On 2014/01/23 17:21:25, pauljensen wrote: > On 2014/01/23 16:14:31, Johnny wrote: > > Couple thoughts: ...
6 years, 11 months ago (2014-01-23 19:39:36 UTC) #4
pauljensen
Johnny, PTAL. I reworked my change in a couple ways: 1. I changed the SpdySession::Deprecated() ...
6 years, 11 months ago (2014-01-24 17:36:49 UTC) #5
Johnny
lgtm https://codereview.chromium.org/129873010/diff/180001/net/spdy/spdy_session_unittest.cc File net/spdy/spdy_session_unittest.cc (right): https://codereview.chromium.org/129873010/diff/180001/net/spdy/spdy_session_unittest.cc#newcode750 net/spdy/spdy_session_unittest.cc:750: SSLSocketDataProvider ssl(SYNCHRONOUS, OK); Possible to remove some of ...
6 years, 11 months ago (2014-01-24 20:04:59 UTC) #6
pauljensen
Fred, PTAL.
6 years, 11 months ago (2014-01-25 04:23:16 UTC) #7
akalin
https://codereview.chromium.org/129873010/diff/220001/net/spdy/spdy_session.h File net/spdy/spdy_session.h (right): https://codereview.chromium.org/129873010/diff/220001/net/spdy/spdy_session.h#newcode358 net/spdy/spdy_session.h:358: void Deprecate(); i'm not a huge fan of this ...
6 years, 11 months ago (2014-01-27 22:17:44 UTC) #8
akalin
On 2014/01/27 22:17:44, akalin wrote: > https://codereview.chromium.org/129873010/diff/220001/net/spdy/spdy_session.h > File net/spdy/spdy_session.h (right): > > https://codereview.chromium.org/129873010/diff/220001/net/spdy/spdy_session.h#newcode358 > ...
6 years, 11 months ago (2014-01-27 22:18:24 UTC) #9
akalin
https://codereview.chromium.org/129873010/diff/220001/net/spdy/spdy_session_pool.cc File net/spdy/spdy_session_pool.cc (right): https://codereview.chromium.org/129873010/diff/220001/net/spdy/spdy_session_pool.cc#newcode297 net/spdy/spdy_session_pool.cc:297: DCHECK(!IsSessionAvailable(*it)); this should probably go in the #if block, ...
6 years, 11 months ago (2014-01-27 22:20:03 UTC) #10
pauljensen
I addressed the typos in the description. Please see my replies below to your questions. ...
6 years, 10 months ago (2014-01-28 19:34:45 UTC) #11
akalin
https://codereview.chromium.org/129873010/diff/220001/net/spdy/spdy_session.h File net/spdy/spdy_session.h (right): https://codereview.chromium.org/129873010/diff/220001/net/spdy/spdy_session.h#newcode358 net/spdy/spdy_session.h:358: void Deprecate(); On 2014/01/28 19:34:45, pauljensen wrote: > On ...
6 years, 10 months ago (2014-01-28 23:23:27 UTC) #12
pauljensen
Fred, PTAL. I addressed your comment.
6 years, 10 months ago (2014-01-29 20:27:06 UTC) #13
akalin
change 'Deprecate' in CL description to 'Make unavailable' LGTM after nits https://codereview.chromium.org/129873010/diff/330001/net/spdy/spdy_session.cc File net/spdy/spdy_session.cc (right): ...
6 years, 10 months ago (2014-01-29 23:26:15 UTC) #14
pauljensen
The CQ bit was checked by pauljensen@chromium.org
6 years, 10 months ago (2014-02-04 21:05:56 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pauljensen@chromium.org/129873010/350002
6 years, 10 months ago (2014-02-04 22:33:24 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pauljensen@chromium.org/129873010/350002
6 years, 10 months ago (2014-02-05 01:13:21 UTC) #17
pauljensen
The CQ bit was unchecked by pauljensen@chromium.org
6 years, 10 months ago (2014-02-05 15:46:40 UTC) #18
pauljensen
The CQ bit was checked by pauljensen@chromium.org
6 years, 10 months ago (2014-02-05 15:46:47 UTC) #19
Peter Mayo
The CQ bit was unchecked by petermayo@chromium.org
6 years, 10 months ago (2014-02-05 19:04:15 UTC) #20
Peter Mayo
The CQ bit was checked by petermayo@chromium.org
6 years, 10 months ago (2014-02-05 19:04:23 UTC) #21
Peter Mayo (wrong one)
The CQ bit was unchecked by petermayo@google.com
6 years, 10 months ago (2014-02-05 22:19:18 UTC) #22
cmp
The CQ bit was checked by cmp@chromium.org
6 years, 10 months ago (2014-02-05 22:26:20 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pauljensen@chromium.org/129873010/350002
6 years, 10 months ago (2014-02-05 22:29:50 UTC) #24
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-05 22:29:52 UTC) #25
commit-bot: I haz the power
Failed to apply patch for net/spdy/spdy_session_unittest.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 10 months ago (2014-02-05 22:29:53 UTC) #26
cmp
Paul, please rebase, re-upload, and let's try again.
6 years, 10 months ago (2014-02-05 22:31:37 UTC) #27
pauljensen
The CQ bit was checked by pauljensen@chromium.org
6 years, 10 months ago (2014-02-06 01:40:46 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pauljensen@chromium.org/129873010/880001
6 years, 10 months ago (2014-02-06 01:44:42 UTC) #29
commit-bot: I haz the power
6 years, 10 months ago (2014-02-06 11:02:59 UTC) #30
Message was sent while issue was closed.
Change committed as 249349

Powered by Google App Engine
This is Rietveld 408576698