[Freeipa-devel] [PATCH] 23 Optimize and dynamically verify group membership
JR Aquino
JR.Aquino at citrix.com
Thu Apr 7 23:04:07 UTC 2011
On Apr 7, 2011, at 3:42 PM, JR Aquino wrote:
> On Mar 31, 2011, at 2:16 PM, JR Aquino wrote:
>
>> On Mar 31, 2011, at 1:48 PM, Rob Crittenden wrote:
>>
>>> JR Aquino wrote:
>>>> The following patch Removes around 20 lines of code and provides a substantial increase in performance for FreeIPA member/memberof verification searches.
>>>>
>>>> The current code base blindly searches static containers for the possible presence of members.
>>>>
>>>> This patch provides a method for dynamically identifying the specific objects to verify memberships for.
>>>>
>>>> The attached patch addresses ticket:
>>>> https://fedorahosted.org/freeipa/ticket/1139
>>>>
>>>> <Without patch>
>>>>
>>>> ipa hostgroup-find
>>>>
>>>> ...
>>>>
>>>> -----------------------------
>>>> Number of entries returned 52
>>>> -----------------------------
>>>>
>>>> real 0m20.054s
>>>> user 0m0.934s
>>>> sys 0m0.050s
>>>>
>>>> <With Patch>
>>>> ipa find-hostgroup
>>>>
>>>> ...
>>>>
>>>> -----------------------------
>>>> Number of entries returned 52
>>>> -----------------------------
>>>>
>>>> real 0m15.064s
>>>> user 0m0.945s
>>>> sys 0m0.057s
>>>>
>>>>
>>>> ------------------------------
>>>> Number of entries returned 100
>>>> ------------------------------
>>>>
>>>> real 0m16.471s
>>>> user 0m0.814s
>>>> sys 0m0.040s
>>>>
>>>> <Without Patch>
>>>> ipa host-find
>>>>
>>>> ...
>>>>
>>>> ------------------------------
>>>> Number of entries returned 100
>>>> ------------------------------
>>>>
>>>> real 0m41.277s
>>>> user 0m0.806s
>>>> sys 0m0.060s
>>>>
>>>> <With Patch>
>>>> ipa host-find
>>>>
>>>> ...
>>>>
>>>> ------------------------------
>>>> Number of entries returned 100
>>>> ------------------------------
>>>>
>>>> real 0m16.385s
>>>> user 0m0.814s
>>>> sys 0m0.053s
>>>
>>> There is a typo in the first block, memeber.
>>>
>>> Wouldn't it be clearer to do a negative test to continue:
>>>
>>> if not 'member' in r[1]:
>>> continue
>>>
>>> rob
>>
>> You're right!
>>
>> Corrected patch attached.
>
> Self Nack
>
> After cli and webui testing, it turned out there was a previous try / except block that was reseting the results value back to []
>
> Corrected and reattaching new patch.
>
> Testing cli and webui checks out correctly. Speed AND accuracy are now addressed.
>
> It was also discovered during the course of testing that this patch addresses one of the causes for the bug thrown in: https://fedorahosted.org/freeipa/ticket/1133
>
> -JR
NACK
Looks like there may still need to be work with the indirect / direct functions.
Will revisit next week.
More information about the Freeipa-devel
mailing list