prefetch still broken with readv and paramiko 1.6.1

John Arbash Meinel john at arbash-meinel.com
Mon Jul 24 20:13:40 BST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I don't know what the specific problem is, but if you use prefetch and
readv with paramiko 1.6.1 it is returning bogus data.

Specifically, I'm getting:
bzr: ERROR: Knit 21/performance.txt-20050309064844-d9647fd301942365.knit
corrupt: unexpected number of elements in record header

I don't get this error if I access the branch locally instead of over
sftp, (same machine, just going through localhost).
I also don't get the error if I hack the current bzr.dev to disable
prefetch.

I installed paramiko 1.6.1 in order to test this, and now bzr-0.8 and
bzr.dev are failing to 'bzr branch' my test branch.
My readv stuff seems to work, but it always requests in order. Versus
bzr.dev which may request a later hunk and then seek back earlier and
make another read.

And when I tried testing enabling prefetch with 1.5.2, even with my
read-in-order changes, it just sort of hung.

I don't know that prefetch should be disabled completely, as it might
just be readv that doesn't work with it.

I'm working on a patch to be able to optionally disable prefetch only
for readv, which should let us keep it for a regular 'get()' request.

Though with all the failures that I'm seeing, I'm tempted to just
disable it entirely for now.

I've been trying to test if it helps/hurts, but so far, it just hurts.

John
=:->

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFExRvkJdeBCYSNAAMRApfzAKC9T9fjhk0y9TnuoQiKd3J2OeOwlQCfUXwf
CCF4q8fv0Hz1ToObcJlAQvM=
=G0Nc
-----END PGP SIGNATURE-----




More information about the bazaar mailing list