[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