We're seeing high load on the server when many clients are fetching treemanifest
entries. A lot of this stems from the cost of opening revlogs. Let's introduce a
simple on-disk cache that let's us avoid opening revlogs as much as possible.
Details
Details
- Reviewers
- None
- Group Reviewers
Restricted Project
Diff Detail
Diff Detail
- Repository
- rFBHGX Facebook Mercurial Extensions
- Lint
Lint Skipped - Unit
Unit Tests Skipped
Event Timeline
treemanifest/__init__.py | ||
---|---|---|
1821 | I need to add cache cleanup here, but I wanted to get the review started. |
Comment Actions
Do we have ideas about the detailed profiling result of what's slow? Is it building revlog index, or applying deltas?
The cache seems suboptimal on disk usage and inode count. Will simplecache be a sane choice here?
treemanifest/__init__.py | ||
---|---|---|
1760–1762 | Should {} be getmeta? I guess getdelta won't be called in critical path so it's okay to be more expensive. |
Should {} be getmeta? I guess getdelta won't be called in critical path so it's okay to be more expensive.