D4976: exchangev2: honor server advertised manifestdata recommended batch size

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Fri Oct 12 08:14:20 UTC 2018


indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  Let's plug the client up to the server-advertised recommended batch size
  for manifestdata requests.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D4976

AFFECTED FILES
  mercurial/exchangev2.py

CHANGE DETAILS

diff --git a/mercurial/exchangev2.py b/mercurial/exchangev2.py
--- a/mercurial/exchangev2.py
+++ b/mercurial/exchangev2.py
@@ -268,10 +268,9 @@
     progress = repo.ui.makeprogress(_('manifests'), unit=_('chunks'),
                                     total=len(fetchnodes))
 
-    # Fetch manifests 10,000 per command.
-    # TODO have server advertise preferences?
+    commandmeta = remote.apidescriptor[b'commands'][b'manifestdata']
+    batchsize = commandmeta.get(b'recommendedbatchsize', 10000)
     # TODO make size configurable on client?
-    batchsize = 10000
 
     # We send commands 1 at a time to the remote. This is not the most
     # efficient because we incur a round trip at the end of each batch.



To: indygreg, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list