[TEST][PATCH] Replication errors with Samba4

Andrew Bartlett abartlet at samba.org
Tue Jul 31 00:37:42 MDT 2012


On Tue, 2012-07-31 at 16:09 +1000, Andrew Bartlett wrote:
> On Tue, 2012-07-31 at 08:04 +0200, Stefan (metze) Metzmacher wrote:
> > Hi Andrew,
> > 
> > >> In my repl-devel branch I have a series of patches to better test our
> > >> replication and conflict resolution handling.
> > >>
> > >> https://git.samba.org/?p=abartlet/samba.git/.git;a=shortlog;h=refs/heads/repl-devel
> > >>
> > >> Currently we have a number of issues in this area.  The test I added
> > >> there shows that we do not consistently handle the conflict resolution.
> > >> This is particularly the case with conflicting renamed. 
> > >>
> > >> The attempts at modification of the replication code I've included try
> > >> to handle some of this, but it still doesn't work.  
> > >>
> > >> However, this code remains dizzyingly complex, and I wondered if,
> > >> particularly as I now have a reasonable testsuite, you might be able toa
> > >> assist me in making this more reliable?
> > > 
> > > I've found some of the issues here, but I still can't make the conflict
> > > handling reliable.  I've put in the test simply asserting that one or
> > > other record becomes a conflict, until we can get back to this.  It
> > > would be very helpful to me if you could look at this area, as this
> > > should be deterministic :-(.
> > > 
> > > Still, at least is no longer stops or crashes. 
> > 
> > Does it randomly fail make test (if so what's the test name?)
> > or do you see the strange behavior in normal operation?
> 
> What happens is that the additional tests I added in
> samba4.drs.replica_sync.python fail randomly.  
> 
> To get the rest of the patch into mater (and to ensure we have any
> coverage of this codepath at all), I've modified the tests to accept
> that one DN or the other is made into a conflict, but not to assert on
> which one in particular is the conflict.   This is in autobuild now. 
> 
> On that branch, It is clear that it's random because if you run it
> twice, the line number (corresponding to unit tests) of the assertions
> changes. 
> 
> Once these are in master, I'll update that branch with just the stricter
> test. 

I've updated the branch.  To reproduce, just run:

make test TESTS=samba4.drs.replica_sync.python 

-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org



More information about the samba-technical mailing list