[ 
https://issues.apache.org/jira/browse/OAK-2602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14356879#comment-14356879
 ] 

Tommaso Teofili commented on OAK-2602:
--------------------------------------

This is due to the fact that currently the {{SolrQueryIndex}} is only returned 
if the underlying {{SolrServer}} is alive, that is when a _ping_ request 
returns _0_, then the {{SolrQueryIndex}} is used to evaluate the cost of JCR 
queries even if then it won't be used (e.g. returning a cost higher than at 
least one of the other available indexes), however this is by design.
What I see is:
1. if ping requests take time it may be that the Solr instance(s) used are 
under high load or simply slow in responding for some reason
2. before OAK-2537 there were Solr queries executed for the cost calculation 
(for the estimation of entries) so maybe some time got wasted there, now that 
should not cause further performance issues.
3. we may choose to remove the ping calls before returning the 
{{SolrQueryIndex}} (it also applies to {{SolrIndexEditor}} and 
{{SolrIndexEditorProvider}}) in {{SolrQueryIndexProvider}} at the cost of 
eventually start getting errors in query executions if the underlying Solr 
server is unreachable.

> [Solr] Cost calculation takes time with solr pings even when not fulfilling 
> query
> ---------------------------------------------------------------------------------
>
>                 Key: OAK-2602
>                 URL: https://issues.apache.org/jira/browse/OAK-2602
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: oak-solr
>    Affects Versions: 1.0.12, 1.1.7
>            Reporter: Amit Jain
>            Assignee: Tommaso Teofili
>             Fix For: 1.1.8, 1.0.13
>
>
> Cost calculation for queries which are fired quite often [1] and which are 
> not going to fulfilled by solr take time due to which the overall cost of the 
> operation is high. 
> [1]
> SELECT * FROM [nt:base] WHERE PROPERTY([rep:members], 'WeakReference') = 
> $uuid 
> SELECT * FROM [nt:base] WHERE [jcr:uuid] = $id



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to