After some investigation: I think this is already fixed in bzr itself, because we disable waiting for locks at a high level when starting the server. Because Launchpad doesn't run "bzr serve" this is not active. I suggest they should do the same thing.
On the whole, since the server process never wants to wait for locks regardless of where they are taken, setting global state to indicate this seems reasonable.
After some investigation: I think this is already fixed in bzr itself, because we disable waiting for locks at a high level when starting the server. Because Launchpad doesn't run "bzr serve" this is not active. I suggest they should do the same thing.
On the whole, since the server process never wants to wait for locks regardless of where they are taken, setting global state to indicate this seems reasonable.