RE: 1.9.x JavaHL: long initial delay when performing a log
From: Bert Huijben <bert_at_qqmail.nl>
Date: Mon, 16 Mar 2015 01:50:07 +0100
> -----Original Message-----
I can only find a server side buffering... But this might explain what you see.
Our server reports use an apr feature that buffers +- 8 KByte data before sending out the first data.
In this specific JavaHL case you ask for just the revision numbers. (Unlike the C api, JavaHL's session.getLog() appears to handle a null list of revision properties as no revision properties. Not the standard set!)
I think every revision would (encoded in our Xml protocol) cost about 70 bytes, so there would fit at least 100 revisions in that buffer.
For each of these revisions the apr repository has to handle a security check for every changed path... And many branch revisions involve more than a few paths.
This looks like an extremely worst case for this operation. The first 100 revisions would have to be fully processed before you get the first result.
I think a patch like the one attached should fix most of the usecases without affecting server performance too much... But it has to be applied at the server.
This is an archived mail posted to the Subversion Dev mailing list.