[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