Hi guys, I just came back from a short week of excellent vacations, and I spent the last two days looking at the search operation.
Just before I left, I thought that the entry was cloned for no reason. The fact is that we do modify the entry before returning it, so we must modify a copy of the cached entry, otherwise we can have some really nasty bugs in other parts (the entry is cached, so we can't simply modify it). OTOH, I discovered that we do a costly check in the DefaultSearchEngine.computeResults() method : we check if the search BaseDN is an alias by looking into the Alias index. Not doing this check imrpove the performance for around 15%. I'm pretty sure we can avoid looking into the index, as soon as we already have a cache of the existing aliases. The pb is that it's just a cache, and if the alias is not in the cache, we have to fetch the alias index. This become a pb when we have a lot of aliases, something unlikely to happen. I will try to think about a better solution. -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com
