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

Re: Persistent sessionlog

On Tue, Oct 24, 2017 at 04:52:57PM +0100, Howard Chu wrote:
> Ondřej Kuzník wrote:
>> ITS#8486 suggests we use a more efficient structure to maintain the
>> sessionlog in. If we're messing with sessionlog already, we might as
>> well see if we can address another issue - it is always empty on slapd
>> startup leading to unnecessary full refreshes happening.
>> slapo-accesslog has most of the data we need to support that and is
>> already sorted in CSN order (much like sessionlog).
>> AFAIK, we can't use the accesslog database directly as the database as
>> we can't efficiently search on a single serverID to get the serverID
>> set and the oldest CSN for each.
> We could tweak the overlay to always maintain these in the parent entry
> (auditContainer). Currently the logpurge always sets the container's
> entryCSN to the oldest remaining CSN.

I'll look into that again, what you say sounds feasible. I should be
close to having the code that populates sessionlog from accesslog. When
that works, it should be possible to reuse most of that to try and use
accesslog directly.

>> There are a few tasks that need to be done in order to achieve this:
>> - configure syncprov with a suffix that contains the slapo-accesslog
>>    style logs for our DB
>> - change struct sessionlog to use a more efficient structure that can be
>>    iterated over from any point (only tavl is available at the moment)
> We've talked about this before, an in-memory B+tree would be better for all
> of our AVL/TAVL uses.

Yes, that would be useful.

Ondřej Kuzník
Senior Software Engineer
Symas Corporation                       http://www.symas.com
Packaged, certified, and supported LDAP solutions powered by OpenLDAP