This is an archive of the discontinued Mercurial Phabricator instance.

clonebundles: optional memory-requirement attribution
ClosedPublic

Authored by joerg.sonnenberger on Jun 21 2020, 6:40 PM.

Details

Summary

The new REQUIREDRAM option allows a client to skip bundles it isn't
expected to handle well, e.g. without swapping. This allows a fallback
path to be provided e.g. using zstd level 10 instead of 22.

Diff Detail

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

Event Timeline

durin42 accepted this revision as: durin42.Jun 25 2020, 1:30 PM
durin42 added a subscriber: durin42.

I'm a fan of this, but for default, not stable. Is there a specific reason you need a new feature on the stable branch?

No strong reason, it just was easier to start as base line.

pulkit added a subscriber: pulkit.Jul 7 2020, 2:10 PM
pulkit added inline comments.
mercurial/exchange.py
3038

need to add a constant describing what the magic 0.66 means, which can probably be configured by extensions?

mercurial/exchange.py
3038

Just a guess how much memory we can safely use on a system without grinding to death due to swapping. It is not meant for customization, if it is necessary to manually override, the user can bump ui.available-memory appropiately.

pulkit accepted this revision.Jul 10 2020, 6:03 AM
This revision is now accepted and ready to land.Jul 10 2020, 6:03 AM