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

Michael Wechner michael.wechner at wyona.com
Wed Feb 8 20:23:16 CET 2012


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 <mailto: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
>     <mailto: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/9605a122/attachment.html>


More information about the Yanel-development mailing list