streaming push alpha-testing

Robert Collins robert.collins at canonical.com
Mon Feb 23 21:07:10 GMT 2009


On Mon, 2009-02-23 at 10:55 -0600, John Arbash Meinel wrote:
> 
> 
> I realize this may seem trivial, but having no progress information
> for
> ~10min is a non trivial change.

For sure. You should still have been getting bytecounting progress, and
Andrew and I do want to have progress bars doing their thing.

> Do you have any idea how to hook in a reasonable progress structure
> into
> this code? I'm concerned that with it being a multi-pass/try-to-stream
> and not think too much in advance system, we won't have a way to
> present
> any idea of how far along we are. Sure we would still have the "copied
> XX bytes" progress, but honestly I think we can do better.
> 
> I think having "copying inventory 124" is worthwhile (even if we don't
> know how many total we will copy, showing how many we *have* copied is
> reasonable). Even further, though, the current code *does* know how
> many
> "keys" it will be requesting.
> 
> Should we be putting "get_nested_progress_bar()" into the
> get_record_stream code?

Possibly. Certainly we do need to get reasonable progress bars back.
OTOH progress bars are a bit of a sign of a slow program :P.

Andrew and I don't have a canned answer yet - we deferred it until we
have the actual fetching polished. Some possibilities are - bars on the
sender, bars in the receiver, embedded progress in the stream, stream
metadata to allow receiver bars, a simple counter of objects received
etc.

I'm kindof partial to simply showing objects handled, for pull 'objects
received', for push 'objects sent', and where/when we know giving a
total counter.

We could definitely say 'pushing 400 revisions'. So perhaps:
Pushing 400 revisions\n
[/   ] Sent 50 objects object, 100MB at 46kbps

or

[/   ] Sending: 50 objects(sending 400 revisions), 100MB at 46kbps


Things to remember:
For local fetch, sender and receiver are local.
When only the target is remote, the sender is local (push).
When only the target is local, the sender is remote (pull).

remote code will run in the bzr+ssh server, and has no direct UI.

-Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090224/1e3194a6/attachment-0001.pgp 


More information about the bazaar mailing list