This is something we really need to fix before we release a 1.5.5.
Just to let you know, this looks to be the same problem that is being discussed in my OutOfMemoryError thread on the users mailing list.
It still seems to be happening in the latest ApacheDS trunk. I don't really understand why it is happening yet though.
Andrea Gariboldi wrote:
i was testing the oracle partition and it looks like the mina filter chain
buffers the search results until
the search ends and then starts message encoding end sending... Is this a
protocol constraint or a bug?
(org.apache.directory.server.ldap.handlers.SearchHandler : 326 snippet:
while ( (count < sizeLimit ) && cursor.next() )
if ( session.getIoSession().isClosing() )
ClonedServerEntry entry = cursor.get();
session.getIoSession().write( generateResponse( session, req,
entry ) ); // here the message is "writed" trought mina filters, but is not
encoded until the end of this loop...
Doing a long search (1000+ entries) results in long waits for the first
result on the client and java heap consumption.
am i missing something?