[Yanel-dev] Performance Issue in YarepUser.getGroupIDs(true)

basZero baszero at gmail.com
Thu Feb 9 14:27:53 CET 2012


Hi Michael,
sure, i created a gist for you:
https://gist.github.com/1779924

Cheers
Balz

On Thu, Feb 9, 2012 at 2:23 PM, Michael Wechner
<michael.wechner at wyona.com>wrote:

>  Hi Balz
>
> Am 08.02.12 21:00, schrieb basZero:
>
> Hi Michael,
> ok I'll do that.
> I wrote a little tool to generate 1000 users locally.
>
>
> can you send this to me for testing?
>
> Thanks
>
> Michael
>
>  Then you just need a resource which calls the method with Boolean.TRUE,
> you'll see that it takes some seconds even without hierarchical groups in
> place...
>
>  Cheers
> Balz
>
> On Wed, Feb 8, 2012 at 8:23 PM, Michael Wechner <michael.wechner at wyona.com
> > wrote:
>
>>  Hi Balz
>>
>> Am 08.02.12 14:47, schrieb basZero:
>>
>> Hi Michael,
>> at the moment we do not have hierarchical groups, but we thought about it.
>> So having a flat group structure, I was even more surprised about the
>> time it takes.
>>
>>  So for the moment we are using getGroupIDs(false), this is very fast as
>> it just fetches the groups from the user.xml .
>>
>>  My mail was rather to make you aware of it, in case you were not.
>>
>>
>>  Inside the code of
>>
>>
>> https://github.com/wyona/security/blob/master/src/impl/java/org/wyona/security/impl/yarep/YarepUser.java
>>
>> it has a TODO stating the implementation should be replaced, but it
>> doesn't say why and maybe the implementation was changed already because it
>> seems to have a version2 and hence the TODO should be rather deleted.
>>
>> I am happy to have a closer look at it, but it would help me if you could
>> provide me with sample data to reproduce the performance issues which you
>> are experiencing.
>>
>> Thanks
>>
>> Michael
>>
>>
>>  Cheers
>> Balz
>>
>>  On Tue, Feb 7, 2012 at 5:56 PM, Michael Wechner <
>> michael.wechner at wyona.com> wrote:
>>
>>>  Am 07.02.12 14:01, schrieb basZero:
>>>
>>> dear all,
>>>
>>>  I observed a severe performance issue if you call the getGroupIDs
>>> method with boolean TRUE (return also parent groups):
>>> - I have 1000 users locally installed
>>> - I did a test with retrieving groups with parents: 1300ms and once
>>> without parents: 1 to 2ms
>>>
>>>  1)
>>> Did anybody use parent groups?
>>>
>>>
>>>  yes
>>>
>>>  How did you solve this issue?
>>>
>>>
>>>  you mean the peformance issue?
>>>
>>> I think this depends very much about the context, how the groups are
>>> being nested and how often one is calling this method.
>>>
>>> In what context are you using it or rather what do you try to
>>> accomplish?
>>>
>>>
>>>  2)
>>> However: the difference from a performance point of view seems a bit too
>>> distinct, maybe the code could be improved?
>>> If there is a description somewhere, what
>>> exactly YarepUser.getGroupIDs(true) should do,
>>>
>>>
>>>  See the javadoc at
>>>
>>> src/core/java/org/wyona/security/core/api/User.java#getGroupIDs(boolean)
>>>
>>> You might also have a look at
>>>
>>> src/util/java/org/wyona/security/util/GroupUtil.java#getGroupIDs(Group,
>>> boolean)
>>>
>>> HTH
>>>
>>> Michael
>>>
>>>  then I could take a look at the code and give my feedback on it.
>>>
>>>  Cheers
>>> Balz
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Yanel-development mailing list Yanel-development at wyona.com
>>> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>>>
>>
>>
>>
>>
>>
>> --
>> Yanel-development mailing list Yanel-development at wyona.com
>> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>>
>
>
>
>
>
> --
> Yanel-development mailing list Yanel-development at wyona.com
> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wyona.org/pipermail/yanel-development/attachments/20120209/f53d0379/attachment.html>


More information about the Yanel-development mailing list