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>