[PATCH] s4-drs: Patches related to Urgent Replication

tridge at samba.org tridge at samba.org
Mon Feb 15 03:48:39 MST 2010


Hi Fernando,

Thanks for your urgent replication patches. I've merged them, with a
few minor mods (see my cleanups to urgent_replication.py).

 > The third patch contains a test script for urgent replication, but
 > there are a few issues regarding it:
 >     - If I run it using something like "python
 > lib/ldb/tests/python/urgent_replication.py
 > ~/prefix.s4/private/sam.ldb" it works correctly. But if I run it using
 > make test "make test TESTS=urgent_replication.python" then I get two
 > problems: 1) The "relax:0" control doesn't seem to work, and I get a
 > LDAP_UNWILLING_TO_PERFORM error when I try to create nTDSDSA or
 > rIDManager objects and

I think the problem is that some of the controls you are using have no
network representation at the moment, so they will never work over
ldap. For example, the DSDB_CONTROL_CURRENT_PARTITION_OID control,
which is used by dsdb_load_partition_usn() has no encoding in
libcli/ldap/ldap_controls.c.

I'm happy for this test to be local-only for now. It really doesn't
make much sense to expose the urgent values over the wire, as they are
internal bookkeeping values. So I'm change the selftest code to run
the test against the local ldb, and make test now works.

 > 2) There's a delay between the object creation
 > and the @REPLCHANGED updating, so if I check uSNHighest and uSNUrgent
 > right after adding an object from python, they won't have the expected
 > values.

I don't think it's a delay, I think it's just that the
dsdb_load_partition_usn() call is failing.

 > PS: These patches are also available at my repository in repo.or.cz

thanks! I pulled them from there.

Please have a look at the changes I made and make sure you are happy
with them.

Cheers, Tridge


More information about the samba-technical mailing list