Comment 18 for bug 260171

Revision history for this message
Jonathan Lange (jml) wrote :

I did a simple experiment locally.

Make sure I had the latest db-stable
 * Pull the latest db-stable (bzr pull)
 * Update download-cache (bzr up download-cache)
 * Update sourcecode (./utilities/update-sourcecode ~/src/launchpad/devel)

Change the codehosting timeout to 30 seconds:
 * Edit configs/development/launchpad-lazr.conf
 * Add "idle_timeout: 30" to the bottom of the codehosting clause

Make a tool that will do a Bazaar request and then wait:
 * bzr branch lp:bzr-ping ~/.bazaar/plugins/ping
 * Edit ~/.bazaar/plugins/ping/__init__.py, putting "import pdb; pdb.set_trace()" at the bottom of run()

Start the server:
 * make schema
 * make run_all

In a different terminal:
 * Make a user (./utilities/make-lp-user jml)
 * Simulate an idle connection (bzr ping bzr+ssh://bazaar.launchpad.dev)

Watch what happens:
 * Check that the spawned bzr process is still running (ps ax | grep lp-serve)
 * Repeat

30 seconds later, the process no longer appears in the 'ps' output, and the pdb window looks like this:

$ bzr ping bzr+ssh://bazaar.launchpad.dev
Response: ('ok', '2')
--Return--
> /home/jml/.bazaar/plugins/ping/__init__.py(47)run()->None
-> import pdb; pdb.set_trace()
(Pdb) Connection to launchpad.dev closed by remote host.