[WIP][PATCH] Remove nested transactions by default
Andrew Bartlett
abartlet at samba.org
Wed Jun 28 19:29:29 UTC 2017
On Wed, 2017-06-28 at 18:23 +1200, Andrew Bartlett via samba-technical
wrote:
> I had left this aside, but being on the home stretch for the locking
> patches I wanted to raise the issue of the LDB transaction semantics.
>
> ldb's current transaction semantics are (frankly) a little odd.
>
> If we have a nested transaction, eg:
> - start transaction
> - start transaction
> - operation
> - cancel transaction
> - end transaction
>
> Then the cancel transaction is just ignored!
>
> Internally there are also many layers of reference counting that while
> currently correct feel ripe for challenges in the future.
>
> This patch set removes the ability to nest transactions by default,
> using it only for a special case in the join.
>
> I don't want to derail the locking patches, but I also thought 'if we
> are going to break the behaviours, why not get rid of this'.
>
> Thoughts welcome. I suspect we should just leave this for after 4.7,
> but it is presented for comment.
There is still a lot of work to do on this one (a number of tests fail
in the autobuild run I was doing). I'll leave it for 4.8, but it means
we will probably do another breaking change in the future.
Andrew Bartlett
--
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
Samba Developer, Catalyst IT http://catalyst.net.nz/services/samba
More information about the samba-technical
mailing list