s4-repl_meta_data: We should not use USNs in metadata comparisons

Kamen Mazdrashki kamenim at samba.org
Sat Jan 22 16:01:38 MST 2011


On Sun, Jan 23, 2011 at 00:45, Andrew Bartlett <abartlet at samba.org> wrote:
> On Sat, 2011-01-22 at 12:23 +0100, Kamen Mazdrashki wrote:
>> The branch, master has been updated
>>        via  585e9a0 s4-repl_meta_data: replmd_update_is_newer() should not return true if metadata stamps are equal
>>        via  0ce93ad s4-repl_meta_data: Print out what is wrong when we fail to modify object
>>        via  0aa118f s4-repl_meta_data: We should not use USNs in metadata comparisons
>>       from  6ee39a2 s3-torture: fix uninitialized status code.
>>
>> http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
>
> Kamen,
>
> Do you have some tests to show that this is incorrect?  Tridge and I put
> a fair bit of care into this function, and it was informed by the docs.
> What information do you have that it was incorrect?
>

This one for stamps comparison:
http://msdn.microsoft.com/en-us/library/cc228380(v=PROT.13).aspx

This one also:
http://msdn.microsoft.com/en-us/library/dd207780(v=PROT.13).aspx
I want to use to one above as a basis for refactoring the merge of replicated
objects. Now I am trying to make a test to exploit the object merge function.

Those commits fixed the problem with replication of a deleted object
(the one that used to print "Unable to apply object. Reason: (null)")
In our implementation this was due to replPropertyMetaData comparison
as it returns 'true' in cases when replPropertyMetaDatas are equal.
Hence, we thought an attribute value is an originating update on second DC,
while it is exactly what we have - I mean no changes.

I've remove also USNs comparison as it seems it doesn't make sense - if
we get a replicated object that is changed on same DC, then versions should
be different (basically, GUID_compare() && USN compare does the same)

Sorry I've pushed it without pinging you about this

-- 
CU,
Kamen Mazdrashki
Samba Team                                            http://samba.org
http://gitweb.samba.org/?p=kamenim/samba.git;a=summary


More information about the samba-technical mailing list