[Bug 5338] New: journal writing is n^2 for bookmarks

bugzilla at mercurial-scm.org bugzilla at mercurial-scm.org
Mon Aug 22 18:29:34 UTC 2016


https://bz.mercurial-scm.org/show_bug.cgi?id=5338

            Bug ID: 5338
           Summary: journal writing is n^2 for bookmarks
           Product: Mercurial
           Version: default branch
          Hardware: PC
                OS: Mac OS
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at selenic.com
          Reporter: durham at fb.com
                CC: mercurial-devel at selenic.com

The recordbookmarks function in the journal extension runs journal.record() for
each bookmark that is being changed.  Each call to journal.record() performs a
full journal write.  If the journal is very large (because all the bookmarks
are being changed very frequently), this results in writing the 100+MB journal
to disk N times.

The journal extension should support batch writes, to avoid this issue.


Repro:
Delete .hg/bookmarks on a repo with many bookamrks
Put a breakpoint in journal._write
Run hg pull --config extensions.journal=!
See that _write is hit once per bookmark.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list