Repository.get_stream_1.19 blocks for a long time before sending
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
High
|
Unassigned |
Bug Description
If you try to branch from lp:mysql-server into an empty 2a repository, then you get bug 388269 but you also get a multi-minute delay before the server starts to stream data, which looks to the user like the process is either hung or not showing a progress indicator. The bzr log on the client shows:
109.527 hpss call w/body: 'Repository.
109.527 63 bytes
508.836 result: ('ok',)
508.837 42 byte part read
508.878 48 byte part read
530.368 13169574 byte part read
530.425 inserting substream: texts
966.875 8206666 byte part read
1249.593 9735616 byte part read
1553.636 8098813 byte part read
1683.444 6894780 byte part read
1902.080 19520443 byte part read
During that 400s delay before we get the start of the reply, strace shows that the client is just blocked in read(2), waiting for something to come back from ssh. The server needs to be fixed to send smaller chunks.
There are probably multiple dupes of this.
On Wed, 2010-02-24 at 03:41 +0000, Martin Pool wrote:
> Public bug reported:
>
> If you try to branch from lp:mysql-server into an empty 2a repository,
> then you get bug 388269 but you also get a multi-minute delay before the
> server starts to stream data, which looks to the user like the process
> is either hung or not showing a progress indicator. The bzr log on the
> client shows:
bzr should be showing traffic activity, according to your log 13MB of
data is copied in that 400 second window.
> During that 400s delay before we get the start of the reply, strace
> shows that the client is just blocked in read(2), waiting for something
> to come back from ssh. The server needs to be fixed to send smaller
> chunks.
It appears to return a single 13MB section, then a stream. Thats a
pretty large block of data. It may not be possible to sensibly break it
into smaller bits, if it is the revision graph (and I suspect it is) -
but we don't need smaller bits to show a better UI.
> There are probably multiple dupes of this.
I don't think there are, this looks new.
-Rob