D1856: wireproto: server-side support for pullbundles

2018-01-15 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4832. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4826&id=4832 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES mercurial/bundle2.py mercurial/configitems.py mercurial/

D1856: wireproto: server-side support for pullbundles

2018-01-15 Thread durin42 (Augie Fackler)
durin42 added a comment. In https://phab.mercurial-scm.org/D1856#31459, @indygreg wrote: > My biggest concern with the architecture of this feature is the multiple roundtrips. I **really** wish we could stream multiple bundles off disk to the wire with no decompression/compression involv

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4826. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4816&id=4826 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES mercurial/configitems.py mercurial/help/config.txt mercu

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. > I wish we could find a way to send multiple, inline, pre-generated bundles in one response. However, the existing design of compression within the bundle2 format doesn't easily facilitate this. We should think long and hard about whether to implement thi

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread indygreg (Gregory Szorc)
indygreg added a comment. Another idea to consider is storing changegroup data or bundle2 parts on disk instead of full bundles. Then, we could stream multiple changegroup parts into a larger bundle2 payload. That does mean that'd we'd have to compress outgoing data over the wire. So no

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread indygreg (Gregory Szorc)
indygreg added subscribers: durin42, indygreg. indygreg requested changes to this revision. indygreg added a comment. This revision now requires changes to proceed. This patch needs a lot of work. But I'm very supportive of the feature and the preliminary implementation! I wish we could f

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. For my test case, which is a bundle of all changes in the NetBSD repo before 2014 and a yearly bundle afterwards until 2018/1/1 and normal pull for the rest, find_pullbundle needs less than 0.5s of CPU time in this iteration when it matches. After the in

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4816. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4811&id=4816 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES mercurial/configitems.py mercurial/help/config.txt mercu

D1856: wireproto: server-side support for pullbundles

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4811. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4810&id=4811 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES mercurial/configitems.py mercurial/help/config.txt mercu

D1856: wireproto: server-side support for pullbundles

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Pullbundles are similar to clonebundles, but served as normal inline bundle streams. They are almost transparent to the client -- the only visible eff