> Op 11 nov. 2016, om 13:21 heeft Ard Schrijvers <[email protected]> > het volgende geschreven: > > On Fri, Nov 4, 2016 at 5:50 PM, Nils Breunese <[email protected]> wrote: >> Hello, >> >> I just joined this mailinglist and this is my first post. >> >> We are having some performance issues and believe some of them can be traced >> into Jackrabbit's org.apache.jackrabbit.core.query.lucene.QueryResultImpl >> class. We have updated to Jackrabbit 2.10.3 to be able to enable the >> 'sizeEstimate' option [0] and got some performance improvement out of that, >> but we still have an issue with queries with large offset values. An offset >> of 12000 causes QueryResultImpl to build an offsetNodes list with 12000 >> entries, which when using sizeEstimate is immediately discarded afterwards. >> We'd love to see the performance difference with an implementation that just >> does skip(offset) before getting the resultNodes from the query hits. > > I've already replied in the jira issue as well, but the line above is > exactly where the reasoning fails: It namely would bypass > authorization completely (a search hit from Lucene does not mean the > current jcr session has read access to the node)
In our use case the current JCR session always has read access to the node, but I understand this is not generally true. The performance difference is so dramatic that for now I guess we'll have to use a patched QueryResultImpl on our end. Nils.
