Rein Tollevik wrote:
> Ryan Steele wrote:
>> I'm replicating both the config and backend databases between two
>> boxes.  Everything seems fine, but for some reason
>> when I query them both for the contextCSN, the config database returns
>> only one while the backend database returns two,
>> as seen below:
> 
> The contextCSN attribute with any given sid is added to a database only
> after the server with that serverID modifies the database.  The count of
> contextCSN values in a database does not need to reflect the number of
> master servers that could modify it, and it have no relation to the
> values in other databases.
> 
> In your example, all modifications to cn=config was probably made on the
> first server (assuming it have serverID 1 that is).  The example db have
> been modified by both.
> 
> Rein

Thanks a lot for clarifying; I didn't realize that the contextCSN for each SID 
was added to a given database only after
being modified by that SID.  And yes, I do understand that the different 
databases (e.g., backend and config) will have
different contextCSN's reflecting the last time they were written to, but my 
question was mostly about the same database
on different nodes.  Namely, I thought that verifying whether replication was 
complete was done by comparing the
contextCSN's for the same database on each node (SID) in the replication group. 
 That is, if replication is working,
each server to whom the given database is being replicated should have the same 
contextCSN for that database, to verify
that each received the same last write operation.

I'm not quite sure how to interpret that though, given the results I'm seeing 
in my master-master pair.  Should the
contextCSN's in the backend database for both SID 001 and SID 002 match?  E.g.:

contextCSN: 20100126210305.876171Z#000000#001#000000
contextCSN: 20100126210305.876171Z#000000#002#000000

Or should both nodes agree about the timestamps for each SID independently?  
E.g.:

### ldap1
contextCSN: 20100126210305.876171Z#000000#001#000000
contextCSN: 20091018205321.288716Z#000000#002#000000

### ldap2
contextCSN: 20100126210305.876171Z#000000#001#000000
contextCSN: 20091018205321.288716Z#000000#002#000000


It would intuitively seem to me that each node (SID) to whom the database is 
being replicated should have the same
contextCSN, so that one could verify the replication status by looking at the 
attribute values for each SID on one node,
instead of querying each node to see if the timestamp for each individual SID 
matched on every node.  But, which is
correct?  Thanks again for the insight.

Respectfully,
Ryan

Reply via email to