[PATCH] localrepo: introduce persistent caching of revset revision's branch names

Pierre-Yves David pierre-yves.david at ens-lyon.org
Wed Oct 15 13:37:45 CDT 2014



On 10/15/2014 04:55 AM, Mads Kiilerich wrote:
> On 10/15/2014 06:53 AM, Gregory Szorc wrote:
>> Append only is a nice ideal and just that: an ideal. Things like
>> transaction rollbacks are effectively strips. And transaction
>> rollbacks can happen when e.g. a server-side hook rejects a push. And
>> if that hook (or a hook that ran before) accesses branch data and
>> causes a cache update that would trigger invalidation on rollback, the
>> next unsuspecting user triggers a fresh cache rebuild and experiences
>> extreme latency (if the repo is moderately sized).
>
> (It sounds like _that_ issue could be mitigated by disabling saving of
> caches while inside transactions and leave it to the next user to update
> the cache. A real solution would however be nice.)

But if you do that, you got a new issue that read only puller can never 
update the cache and end up recomputing it every time (old issue who 
triggered the current strategy of recomputing the cache)

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list