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:
I did a simple experiment locally.
Make sure I had the latest db-stable update- sourcecode ~/src/launchpad /devel)
* Pull the latest db-stable (bzr pull)
* Update download-cache (bzr up download-cache)
* Update sourcecode (./utilities/
Change the codehosting timeout to 30 seconds: development/ launchpad- lazr.conf
* Edit configs/
* Add "idle_timeout: 30" to the bottom of the codehosting clause
Make a tool that will do a Bazaar request and then wait: plugins/ ping plugins/ ping/__ init__. py, putting "import pdb; pdb.set_trace()" at the bottom of run()
* bzr branch lp:bzr-ping ~/.bazaar/
* Edit ~/.bazaar/
Start the server:
* make schema
* make run_all
In a different terminal: make-lp- user jml) //bazaar. launchpad. dev)
* Make a user (./utilities/
* Simulate an idle connection (bzr ping bzr+ssh:
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 .bazaar/ plugins/ ping/__ init__. py(47)run( )->None
Response: ('ok', '2')
--Return--
> /home/jml/
-> import pdb; pdb.set_trace()
(Pdb) Connection to launchpad.dev closed by remote host.