[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: delta-syncrepl replica out of date



On 10/23/07 5:15 PM, Howard Chu wrote:
Francis Swasey wrote:
I'm sorry I haven't gotten back to you on this before now.

I've done some testing and I need a pointer or two to see if I've got
something wonky or a bug.

On my master server, the accesslog overlay has a contextCSN value for
the accesslog database that has the value of when the slapd was started.
  It doesn't contain data that far back.

Here's LDIF for the accesslog suffix:

dn: cn=accesslog
objectClass: auditContainer
cn: accesslog
entryCSN: 20070710160157Z#000000#00#000000
structuralObjectClass: auditContainer
contextCSN: 20071010225200Z#000000#00#000000

and the oldest information left in the accesslog db has an entryCSN
value of 20071022225634Z#000000#00#000000.

First, shouldn't the accesslog db contextCSN be updated to indicate the
oldest information still present?

No. The contextCSN always indicates the *newest* information.

No. The contextCSN will only change when the accesslog overlay is opened or whenever syncprov checkpoints (and since I forgot to specify a checkpoint value for the syncprov overlay in the accesslog db, that's why that contextCSN was not getting updated).



Second, does the syncprov overlay look at the contextCSN of the
accesslog db or of the main db?  My assumption is it is checking the
accesslog db (and hence, doesn't think it needs to send a hint because
the accesslog db contextCSN is much older than the contextCSN from the
dc=example,dc=com I slapadded on the replica).

There is no "*the* syncprov overlay" here. There should be an instance on the main db and another instance on the log db. Each one manages its own respective database. If you only have one syncprov configured, then that's the cause of your problem.

I have syncprov overlay configured (likely misconfigured) for both the accesslog db and the "main" db. I have updated the configuration to specify the checkpoint control for the syncprov on the accesslog db and have now specified the syncprov-reloadhint TRUE option in the main db as well. I am still not seeing any sign in the syslog output that a hint is going to the replica when I load a three day old copy of the main db and tell it to syncrepl against my 12 hour accesslog.


--
Frank Swasey                    | http://www.uvm.edu/~fcs
Sr Systems Administrator        | Always remember: You are UNIQUE,
University of Vermont           |    just like everyone else.
  "I am not young enough to know everything." - Oscar Wilde (1854-1900)

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature