Le 04/02/15 12:53, John Peter a écrit : > Hi, > > I'm using apacheds 2.0.0 M_19 > > ApacheDS has 11 group entries and some of them have 26 000 member > attributes. > > I'm using a qucik search via apache directory studio: > (&(member=uid=john,uid=1.2.246.1.1.1111.10.0,ou=users,dc=test,dc=fi)(objectClass=groupOfNames)) > Using a stopwatch I can see a 5 second delay before the result is visible. > > Some other queries perform instantaneously. > Below is a snipet from the apacheDS log. It shows the search operation took > only 7070312ns or 7ms. After that apacheDS does something and the next log > entry is 5 seconds later. > > Any idea's what is happening?
Ok, I can reproduce the pb. If I do a search with (member=uid=john,uid=1.2.246.1.1.1111.10.0,ou=users,dc=test,dc=fi) as a filter, it takes only 400ms, and I tested it with 32 000 members in the entry. If I add (objectClass=groupOfNames) it takes 14 seconds. Two things here : - first, you can do the search omitting the (objectClass=groupOfNames), because the 'member' attribute is only used by this class, unless you have created an ObjectClass that uses the 'member' attribute - second, we should be able to speed up the search when the objectClass is used in the filter. It seems that we don't evaluate properly the number of candidates the (member=XXX) part is returning. This is clearly a bug and need to be fixed.
