Bug report

Vincent Ladeuil v.ladeuil+lp at free.fr
Mon Dec 17 14:02:38 GMT 2007


>>>>> "bialix" == Alexander Belchenko <bialix at ukr.net> writes:

    bialix> John Arbash Meinel пишет:
    >> Alexander Belchenko wrote:
    >>> Vincent,
    >>> 
    >>> What do you think, your patch for http readv to read answer by chunks,
    >>> is applicable to sftp transport? Symptoms looks pretty similar at first
    >>> glance.
    >>> 
    >>> Alexander
    >> 
    >> sftp already reads in chunks.

True.

    >> So it is something different.

Different but related in spirit.

The traceback points at line 344:

        for data in fp.readv(requests):
            cur_data += data
            cur_data_len += len(data)

i.e. the 'cur_data += data'

That line is responsible for concatenating the sftp chunks into
coalesced offset before trying to cache/yield the requested data,
I suspect this is buffering too much in the case of packs (packs
tends to call readv with many contiguous ranges which
_coalesced_offsets turn into very large chunks which are, in
turn, broken into smaller requests).

The http readv avoid some of that buffering by yielding data
earlier.

Can you provide us with the corresponding .bzr.log, it may help
confirm that hypothesis.

        Vincent



More information about the bazaar mailing list