After seeing what looks to me like confirmation in the debugger I've raised https://issues.apache.org/jira/browse/DIRSERVER-1258.
Thanks On Wed, Sep 17, 2008 at 5:01 PM, Norval Hope <[EMAIL PROTECTED]> wrote: > Hi All, > > Just had a question about SearchHandler as I'm reviewing to see if > some memory leaks I experienced in the old <1.5.0 release code base > have been resolved. As best I can tell (apologies if I'm missing > something) there seem to be some different probs in the new > implementation regarding calling of > session.unregisterOutstandingRequest( req ) (the old impl had some > probs in the similar but now defunct use of SessionRegistry): > 1. Note that SearchHandler.handleIgnoringReferrals() always calls > session.registerOutstandingRequest( req ) immediately on entry > 2. When it delegates to handleRootDseSearch() i don't see a > corresponding session.unregisterOutstandingRequest( req ) call, isn't > one required? > 3. I'm not sure what the right behaviour is for > handlePersistentSearch(), but I'd expect that logically > session.unregisterOutstandingRequest( req ) would need to be called > too (or in this case is the req considered to be outstanding > indefinitely?) > 4. In the other normal search cases, shouldn't > session.unregisterOutstandingRequest( req ) be in a finally block so > it is also called when exceptions are encountered? > 5. The old impl had a memory leak for searches when no results were > returned, as best I can tell the new cursor stuff doesn't suffer the > same problem but just wanted to throw this boundary case out there for > special consideration. > > Thanks, > Norval >
