[Freeipa-devel] [PATCH] new LDAP connection pool

Rob Crittenden rcritten at redhat.com
Tue Oct 9 14:29:26 UTC 2007


Pete Rowley wrote:
> Rob Crittenden wrote:
> 
> ok

pushed

> 
>> The old connection pool lacked locking and would iterate over the 
>> entire list for each request.
>>
>> I've changed it to use a dict of connections keyed on principal.
>>
>> There is a separate list keyed on principal that holds the order of 
>> the entries.
>>
>> When an entry is requested it looks for it in the dictionary and if 
>> found, pops it off the list too.
>>
>> When finished, it creates a new dict entry for it then appends it to 
>> the end of the list (so it is the most recently used).
>>
>> If we ever have a full list, just pop element 0 as it is the LRU.
>>
>> Remember that Apache is running multi-process so each process will 
>> have its own connection cache. This limits the effectiveness of the 
>> pooling but I suspect that with the GUI it will help somewhat.
>>
>> This is the reason I've gone with a fairly conservative value for the 
>> max number of entries at 128.
>>
>> It seems fairly weak in terms of catching possible errors. Some 
>> suggestions would be helpful. I don't think it can blow up and leave a 
>> hanging lock, so it won't hork the server. I also don't want to go 
>> overboard and put try/except around every call (or should I?)
>>
>> rob


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3245 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20071009/b488520a/attachment.bin>


More information about the Freeipa-devel mailing list