[PATCH 3 of 4] shelve: use rollback instead of aborting a current transaction for shelve
FUJIWARA Katsunori
foozy at lares.dti.ne.jp
Mon Oct 5 09:42:06 CDT 2015
At Sun, 04 Oct 2015 14:47:18 -0700,
Pierre-Yves David wrote:
>
> On 10/04/2015 05:44 AM, FUJIWARA Katsunori wrote:
> > # HG changeset patch
> > # User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
> > # Date 1443962009 -32400
> > # Sun Oct 04 21:33:29 2015 +0900
> > # Node ID e265a8c85c3873815730921ae2d8ca3c6df3b48a
> > # Parent ce4ea67c82972f2988e42372cd6443b6c288e1c8
> > shelve: use rollback instead of aborting a current transaction for shelve
>
> I'm not sure that I like these one (and the next).
>
> Using rollback means that the transaction is actually commited at some
> point. Rolling it back will likely cause cache invalidation issue and
> race condition with other reader.
Oops, I forgot that incorrect visibility for a moment at closing
transaction :-<
I'll post revised ones using another way (maybe enclosing such scope
by dirstateguard).
> However:
>
> - the current shelve implementation is highly debatable by itself. (we
> should probably use a combination of fully in memory commit (not
> supported yet) and bundlerepo + merge so I'm not sure your proposal is
> notably worse (we are a bit between Scylla and Charybdis here)
>
> - If this is the last blocking bits to get a transactional dirstate, the
> drawback at certainly worth it. The current bug associated with the lack
> of it have much more user impact.
>
> I need to think about it.
>
> --
> Pierre-Yves David
>
----------------------------------------------------------------------
[FUJIWARA Katsunori] foozy at lares.dti.ne.jp
More information about the Mercurial-devel
mailing list