You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2016/08/05 11:04:20 UTC

[jira] [Created] (OAK-4652) indexName logged in QueryImpl is wrong in case of multiple indexes satisfying the query

Chetan Mehrotra created OAK-4652:
------------------------------------

             Summary: indexName logged in QueryImpl is wrong in case of multiple indexes satisfying the query
                 Key: OAK-4652
                 URL: https://issues.apache.org/jira/browse/OAK-4652
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: query
            Reporter: Chetan Mehrotra
            Priority: Minor
             Fix For: 1.6


QueryImpl currently computes the indexName like

{code}
 for (IndexPlan p : ipList) {
                    // TODO limit is after all conditions
                    long entryCount = Math.min(maxEntryCount, p.getEstimatedEntryCount());
                    double c = p.getCostPerExecution() + entryCount * p.getCostPerEntry();
                    if (c < cost) {
                        cost = c;
                        if (p.getPlanName() != null) {
                            indexName += "[" + p.getPlanName() + "]";
                        }
                        indexPlan = p;
                    }
                }
{code}

If there are multiple index plans then indexName contains multiple plan names which causes confusion

{noformat}
   cost for lucene-property[/oak:index/keymatchKeywords][/oak:index/newImport] is 786.0
{noformat}

Instead of concatenating the indexName should be generated outside



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