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)