This is an archive of the discontinued Mercurial Phabricator instance.

remotefilelog: add linknode fixup logging
ClosedPublic

Authored by stash on Sep 28 2017, 12:58 PM.
Tags
None
Subscribers

Details

Reviewers
quark
Group Reviewers
Restricted Project
Commits
rFBHGX3971b56b4d5b: remotefilelog: add linknode fixup logging
Summary

The goal of the whole series is to have logging around linknode fixup. It's a slow operation, and we have two heuristics to make it faster. Unfortunately we have no idea about how well these heuristics actually help. This series of diffs aims to fix this problem. After this series is landed and logging is enabled, I hope that we can find out if we really these heuristics at all.

Let's log more data to make it easier to analyze where and how often does
linknode adjusing happen.

Test Plan

Run test-remotefilelog-linknodes.t

Diff Detail

Repository
rFBHGX Facebook Mercurial Extensions
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

stash created this revision.Sep 28 2017, 12:58 PM
stash edited the summary of this revision. (Show Details)Sep 28 2017, 1:10 PM
quark accepted this revision.Sep 29 2017, 8:57 PM
quark added a subscriber: quark.

Make sure the cl change is done before landing.

remotefilelog/remotefilectx.py
38–49

Maybe these belong to shallowutils and getreponame can replace some existing code paths.

245

This could be a critical path and repo[x] overhead may need to be considered.

It's better to use:

hex(cl.node(rev))

to avoid the context overhead. That also uses "unfiltered" which is more desirable.

This revision is now accepted and ready to land.Sep 29 2017, 8:57 PM
stash updated this revision to Diff 2204.Sep 30 2017, 2:45 PM

addressed comments

stash updated this revision to Diff 2205.Sep 30 2017, 3:14 PM

add tests

This revision was automatically updated to reflect the committed changes.