Hi Michael,<div>ok I'll do that.</div><div>I wrote a little tool to generate 1000 users locally.</div><div>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...</div>
<div><br></div><div>Cheers</div><div>Balz<br><br><div class="gmail_quote">On Wed, Feb 8, 2012 at 8:23 PM, Michael Wechner <span dir="ltr"><<a href="mailto:michael.wechner@wyona.com">michael.wechner@wyona.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hi Balz<br>
<br>
Am 08.02.12 14:47, schrieb basZero:
<div class="im"><blockquote type="cite">Hi Michael,
<div>at the moment we do not have hierarchical groups, but we
thought about it.</div>
<div>So having a flat group structure, I was even more surprised
about the time it takes.</div>
<div><br>
</div>
<div>So for the moment we are using getGroupIDs(false), this is
very fast as it just fetches the groups from the user.xml .</div>
<div><br>
</div>
<div>My mail was rather to make you aware of it, in case you were
not.</div>
</blockquote>
<br></div>
Inside the code of<br>
<br>
<a href="https://github.com/wyona/security/blob/master/src/impl/java/org/wyona/security/impl/yarep/YarepUser.java" target="_blank">https://github.com/wyona/security/blob/master/src/impl/java/org/wyona/security/impl/yarep/YarepUser.java</a><br>
<br>
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.<br>
<br>
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.<br>
<br>
Thanks<span class="HOEnZb"><font color="#888888"><br>
<br>
Michael</font></span><div><div class="h5"><br>
<blockquote type="cite">
<div><br>
</div>
<div>Cheers</div>
<div>Balz<br>
<br>
<div title="signature"> </div>
<div class="gmail_quote">On Tue, Feb 7, 2012 at 5:56 PM, Michael
Wechner <span dir="ltr"><<a href="mailto:michael.wechner@wyona.com" target="_blank">michael.wechner@wyona.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Am 07.02.12 14:01,
schrieb basZero:
<div>
<blockquote type="cite">dear all,
<div><br>
</div>
<div>I observed a severe performance issue if you call
the getGroupIDs method with boolean TRUE (return
also parent groups):</div>
<div>- I have 1000 users locally installed</div>
<div>- I did a test with retrieving groups with
parents: 1300ms and once without parents: 1 to 2ms</div>
<div><br>
</div>
<div>1)</div>
<div>Did anybody use parent groups?</div>
</blockquote>
<br>
</div>
yes
<div><br>
<blockquote type="cite">
<div> How did you solve this issue?</div>
</blockquote>
<br>
</div>
you mean the peformance issue?<br>
<br>
I think this depends very much about the context, how the
groups are being nested and how often one is calling this
method.<br>
<br>
In what context are you using it or rather what do you try
to accomplish?
<div><br>
<blockquote type="cite">
<div><br>
</div>
<div>2)</div>
<div>However: the difference from a performance point
of view seems a bit too distinct, maybe the code
could be improved? </div>
<div>If there is a description somewhere, what
exactly YarepUser.getGroupIDs(true) should do,</div>
</blockquote>
<br>
</div>
See the javadoc at<br>
<br>
src/core/java/org/wyona/security/core/api/User.java#getGroupIDs(boolean)<br>
<br>
You might also have a look at<br>
<br>
src/util/java/org/wyona/security/util/GroupUtil.java#getGroupIDs(Group,
boolean)<br>
<br>
HTH<span><font color="#888888"><br>
<br>
Michael</font></span>
<div><br>
<blockquote type="cite">
<div> then I could take a look at the code and give my
feedback on it.</div>
<div><br>
</div>
<div>Cheers</div>
<div>Balz</div>
<div><br>
</div>
<div title="signature"> </div>
<br>
<fieldset></fieldset>
<br>
</blockquote>
<br>
</div>
</div>
<br>
--<br>
Yanel-development mailing list <a href="mailto:Yanel-development@wyona.com" target="_blank">Yanel-development@wyona.com</a><br>
<a href="http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development" target="_blank">http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development</a><br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
</blockquote>
<br>
</div></div></div>
<br>--<br>
Yanel-development mailing list <a href="mailto:Yanel-development@wyona.com">Yanel-development@wyona.com</a><br>
<a href="http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development" target="_blank">http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development</a><br></blockquote></div><br></div>