[PATCH 4 of 4 full-series] obsolete: exchange obsolete markers using dedicated wireprotocol commands

Matt Mackall mpm at selenic.com
Wed Jul 18 18:42:55 CDT 2012


On Wed, 2012-07-18 at 05:27 +0200, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at logilab.fr>
> # Date 1342580030 -7200
> # Node ID f9b94324c38a82477702e8b83292aa3bc2e3c565
> # Parent  227fb128b2be11ef030856b14390a069c9c4f94b
> obsolete: exchange obsolete markers using dedicated wireprotocol commands

I've taken the first three, thanks. But this needs significantly more
thought, I'm afraid I'm going to have to defer it.

> This changeset drop pushkeybased exchange in favor of dedicated wireprotocol
> commands. Pushkey is not designed to exchange high amount of data. For example
> the http implementation of pushkey use http header and just can't handle

handle what...?

Yes, pushkey is indeed not designed to send large amounts of data. But
it's also obviously not at all designed to send _gigantic values_
attached to single keys. If you're running into the ~1k or ~100k http
header limits, it sounds like you're abusing pushkey.

Pushkey will, however, happily process a practically unlimited number of
small key/value pairs. With our wireproto batching support, this can
even be moderately efficient.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list