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

Issue 8340012: Close idle connections / SPDY sessions when needed. (Closed)

Created:
9 years, 1 month ago by willchan no longer on Chromium
Modified:
9 years ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, darin-cc_chromium.org, Paweł Hajdan Jr.
Visibility:
Public.

Description

Close idle connections / SPDY sessions when needed. Due to the idle connection state being held by different socket pools, it's possible for one socket pool to hold an idle socket in a lower layer socket pool. From the lower level socket pool's perspective, the socket is being "actively" used. From the higher socket pool's (including SpdySession, which is more of a connection manager) perspective, the connection is idle and can be closed if we have hit a limit. Normally this isn't a big deal, except when we have a lot of idle SPDY connections and are connecting via a proxy, so we have low connection limits through the proxy server. We address this problem by allowing lower-level socket pools to tell higher level socket pools to close a socket. BUG=62364, 92244 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=112130

Patch Set 1 #

Patch Set 2 : OVERRIDE #

Total comments: 17

Patch Set 3 : Address mmenke's comments. #

Total comments: 1

Patch Set 4 : Merge #

Total comments: 1

Patch Set 5 : Fix tests. #

Total comments: 20

Patch Set 6 : Address comments #

Patch Set 7 : Fix clang. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+659 lines, -46 lines) Patch
M net/http/http_network_transaction_unittest.cc View 1 2 3 4 1 chunk +178 lines, -0 lines 0 comments Download
M net/http/http_proxy_client_socket_pool.h View 1 2 3 4 4 chunks +11 lines, -1 line 0 comments Download
M net/http/http_proxy_client_socket_pool.cc View 1 2 3 4 4 chunks +34 lines, -2 lines 0 comments Download
M net/socket/client_socket_handle.h View 2 chunks +5 lines, -0 lines 0 comments Download
M net/socket/client_socket_handle.cc View 1 2 3 4 5 3 chunks +19 lines, -0 lines 0 comments Download
M net/socket/client_socket_pool.h View 3 chunks +19 lines, -0 lines 0 comments Download
M net/socket/client_socket_pool_base.h View 1 2 3 4 5 10 chunks +38 lines, -9 lines 0 comments Download
M net/socket/client_socket_pool_base.cc View 1 2 3 4 5 9 chunks +68 lines, -13 lines 0 comments Download
M net/socket/client_socket_pool_base_unittest.cc View 1 2 3 4 5 13 chunks +166 lines, -17 lines 0 comments Download
M net/socket/socks_client_socket_pool.h View 1 2 3 4 4 chunks +11 lines, -1 line 0 comments Download
M net/socket/socks_client_socket_pool.cc View 1 2 3 4 4 chunks +26 lines, -1 line 0 comments Download
M net/socket/ssl_client_socket_pool.h View 1 2 3 4 4 chunks +10 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_pool.cc View 4 chunks +33 lines, -0 lines 0 comments Download
M net/socket/transport_client_socket_pool.h View 1 2 3 4 2 chunks +6 lines, -0 lines 0 comments Download
M net/socket/transport_client_socket_pool.cc View 1 2 3 4 2 chunks +12 lines, -0 lines 0 comments Download
M net/spdy/spdy_session.h View 1 2 3 4 5 6 3 chunks +6 lines, -1 line 0 comments Download
M net/spdy/spdy_session.cc View 1 2 3 4 3 chunks +17 lines, -1 line 0 comments Download

Messages

Total messages: 15 (0 generated)
willchan no longer on Chromium
This is probably a difficult change to review. The connection pool stuff is very confusing ...
9 years, 1 month ago (2011-10-26 23:54:30 UTC) #1
ramant (doing other things)
hi willchan, Changes LGTM (I am not 100% sure if I have the authority to ...
9 years, 1 month ago (2011-10-27 17:33:56 UTC) #2
mmenke
http://codereview.chromium.org/8340012/diff/2001/net/socket/client_socket_handle.cc File net/socket/client_socket_handle.cc (right): http://codereview.chromium.org/8340012/diff/2001/net/socket/client_socket_handle.cc#newcode85 net/socket/client_socket_handle.cc:85: void ClientSocketHandle::AddLayeredPool(LayeredPool* layered_pool) { DCHECK(!layered_pool), maybe? http://codereview.chromium.org/8340012/diff/2001/net/socket/client_socket_pool_base.cc File net/socket/client_socket_pool_base.cc ...
9 years, 1 month ago (2011-10-27 18:52:37 UTC) #3
willchan no longer on Chromium
Finally got back to this CL. http://codereview.chromium.org/8340012/diff/2001/net/socket/client_socket_pool_base.cc File net/socket/client_socket_pool_base.cc (right): http://codereview.chromium.org/8340012/diff/2001/net/socket/client_socket_pool_base.cc#newcode354 net/socket/client_socket_pool_base.cc:354: } else if ...
9 years, 1 month ago (2011-11-08 22:26:13 UTC) #4
mmenke
http://codereview.chromium.org/8340012/diff/2001/net/socket/client_socket_pool_base.cc File net/socket/client_socket_pool_base.cc (right): http://codereview.chromium.org/8340012/diff/2001/net/socket/client_socket_pool_base.cc#newcode354 net/socket/client_socket_pool_base.cc:354: } else if (!CloseOneIdleConnectionInLayeredPool()) { On 2011/11/08 22:26:13, willchan ...
9 years, 1 month ago (2011-11-08 22:41:03 UTC) #5
willchan no longer on Chromium
Ugh, I'm blocked on this changelist by some tests breaking because now I'm introducing tight ...
9 years, 1 month ago (2011-11-15 18:44:06 UTC) #6
mmenke
Looks like you didn't upload a new patch set. I'm not sure if that's deliberate, ...
9 years, 1 month ago (2011-11-15 19:00:23 UTC) #7
willchan no longer on Chromium
Yeah, still pending the new CL. Sorry. On Tue, Nov 15, 2011 at 2:00 PM, ...
9 years, 1 month ago (2011-11-15 19:03:30 UTC) #8
willchan no longer on Chromium
I think this is working now. I have to fiddle with a timeout for the ...
9 years ago (2011-11-25 22:22:10 UTC) #9
mmenke
LGTM. Just a number of nits. http://codereview.chromium.org/8340012/diff/19001/net/http/http_network_transaction_unittest.cc File net/http/http_network_transaction_unittest.cc (right): http://codereview.chromium.org/8340012/diff/19001/net/http/http_network_transaction_unittest.cc#newcode9722 net/http/http_network_transaction_unittest.cc:9722: MockRead("hello!"), nit: Think ...
9 years ago (2011-11-28 17:47:13 UTC) #10
willchan no longer on Chromium
http://codereview.chromium.org/8340012/diff/19001/net/http/http_network_transaction_unittest.cc File net/http/http_network_transaction_unittest.cc (right): http://codereview.chromium.org/8340012/diff/19001/net/http/http_network_transaction_unittest.cc#newcode9722 net/http/http_network_transaction_unittest.cc:9722: MockRead("hello!"), On 2011/11/28 17:47:14, Matt Menke wrote: > nit: ...
9 years ago (2011-11-29 23:14:52 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/willchan@chromium.org/8340012/31001
9 years ago (2011-11-29 23:51:40 UTC) #12
commit-bot: I haz the power
Try job failure for 8340012-31001 (previous was lost) (retry) (previous was lost) on mac_rel for ...
9 years ago (2011-11-30 01:17:38 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/willchan@chromium.org/8340012/35001
9 years ago (2011-11-30 02:24:11 UTC) #14
commit-bot: I haz the power
9 years ago (2011-11-30 04:57:28 UTC) #15
Change committed as 112130

Powered by Google App Engine
This is Rietveld 408576698