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

basZero baszero at gmail.com
Wed Feb 8 21:00:49 CET 2012


Hi Michael,
ok I'll do that.
I wrote a little tool to generate 1000 users locally.
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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wyona.org/pipermail/yanel-development/attachments/20120208/d4138d82/attachment.html>


More information about the Yanel-development mailing list