bzr serve doesn't drop idle/dead connections
Bug #824797 reported by
Michael J. Flickinger
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
High
|
John A Meinel |
Bug Description
When used with xinetd, hpss won't auto-kill processes with idle sockets.
Other inetd processes, such as IMAPd, will auto terminate idle connections.
On Savannah, for example, I limited the amount of available hpss processes to 40, but idle connections build up and we quickly develop a "denial of service" problem specific to bzr hpss.
I propose a three minute timeout on idle hpss sockets, similar to what's implemented by default with IMAP.
$ time telnet bzr.sv.gnu.org 2401
Trying 140.186.70.72...
Connected to bzr.sv.gnu.org.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
real 60m29.058s
user 0m0.008s
sys 0m0.004s
Related branches
lp://staging/~jameinel/bzr/drop-idle-connections-824797
- bzr-core: Pending requested
-
Diff: 1071 lines (+428/-102)10 files modifiedbzrlib/builtins.py (+16/-2)
bzrlib/config.py (+12/-1)
bzrlib/errors.py (+5/-0)
bzrlib/smart/medium.py (+114/-6)
bzrlib/smart/server.py (+30/-12)
bzrlib/tests/blackbox/test_serve.py (+51/-3)
bzrlib/tests/test_server.py (+7/-3)
bzrlib/tests/test_smart_transport.py (+168/-74)
bzrlib/tests/test_test_server.py (+14/-1)
doc/en/release-notes/bzr-2.5.txt (+11/-0)
security vulnerability: | yes → no |
visibility: | private → public |
Changed in bzr: | |
assignee: | nobody → John A Meinel (jameinel) |
Changed in bzr: | |
milestone: | none → 2.5b2 |
status: | In Progress → Fix Released |
To post a comment you must log in.
there are three related bugs:
bug 819604: reconnect when connection drops
bug 795025: allow admins to ask the server to close the connection
after it finishes the current request
bug 824797: drop connections that have been idle for a while