[PATCH] Use a private event loop during transactions, BUG 10582 (was Re: A Modest Proposal...)

Andrew Bartlett abartlet at samba.org
Fri May 2 02:15:29 MDT 2014

On Thu, 2014-04-17 at 16:05 +1200, Andrew Bartlett wrote:
> I have a modest proposal that I think might just reduce the instances of
> DRS corruption and replication deadlocks we have been seeing recently,
> and move us one step closer the goal of not using nested event loops in
> Samba.

This patch passes autobuild, and is a small, non-intrusive way to ensure
that unrelated operations cannot be fired during a transaction.  It is
also isolated enough to be back-ported to earlier Samba versions.  I
have filed bug 10582 to allow such a backport. 

With respect to deadlocks, by making the code more deterministic, it
will ensure we do not introduce them by not allowing events to proceed
in the single process model that would fail (due to the transaction
lock) in the standard process model.  This makes our code more reliable,
not less. 

It has no impact on possible future ideas around LDAP backends, as if
OpenLDAP becomes the LDAP listener, then the rootdse module simply won't
be loaded. 

Please review/push.


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-dsdb-Rename-private_data-to-rootdse_private_data-in-.patch
Type: text/x-patch
Size: 4079 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140502/299789b9/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-dsdb-Do-not-permit-nested-event-loops-when-in-a-tran.patch
Type: text/x-patch
Size: 6279 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140502/299789b9/attachment-0001.bin>

More information about the samba-technical mailing list