[
https://issues.apache.org/jira/browse/JCR-4057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15656975#comment-15656975
]
Ard Schrijvers commented on JCR-4057:
-------------------------------------
Hey [~breun],
the alternative approach requires quite some heavy programming and also here
and there hooking into the different Jackrabbit Query impls (certainly the
hierarchical constraint queries are quite complex). Also it requires that your
authorization model can be mapped to a Lucene query, and it might even imply
you need to hook into the indexing itself. All in all months of work (with the
end result that you get authorized hits back from Lucene and you don't need to
do a check for access any more). Realistically however this means you need to
heavily invest in Jackrabbit yourself. I think (assume) this is not realistic
for your use case.
If you are ok, I'll now close this issue as won't fix for the reasons I
mentioned
Regards Ard
> Improve performance of skipping offset nodes for Lucene queries
> ---------------------------------------------------------------
>
> Key: JCR-4057
> URL: https://issues.apache.org/jira/browse/JCR-4057
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: core
> Affects Versions: 2.10.4
> Reporter: Nils Breunese
> Labels: performance
> Attachments: JCR-4057-test.patch, JCR-4057.patch
>
>
> When doing Lucene-based queries with large offset values like 12000 I see
> pretty bad performance in our system. I have already enabled the
> {{sizeEstimate}} option to improve performance, but still see queries taking
> 6 to 66 seconds.
> I have identified the call to {{collectScoreNodes}} for offset nodes in
> {{org.apache.jackrabbit.core.query.lucene.QueryResultImpl#getResults}} to be
> the cause of this. The {{collectScoreNodes}} method builds an anonymous
> {{ArrayList<ScoreNode[]>}} for the offset nodes, which is not used after
> building it, so it uses memory for nothing, and it also does access checks
> for these nodes which are not returned.
> I have attached a patch to Jackrabbit 2.10.4 which just calls {{skip}} on the
> {{MultiColumnQueryHits result}} and using this patch our query times seem to
> stay under 2 seconds.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)