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 2014/12/10 14:26:13 UTC

[jira] [Comment Edited] (OAK-2282) Make current testcases pass with new index implementation

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

Chetan Mehrotra edited comment on OAK-2282 at 12/10/14 1:25 PM:
----------------------------------------------------------------

Current test failure stands at 13. With following 3 broad categories

*A - Queries using Joins*

IndexPlanner and LucenePropertyIndex do not know how to handle such queries. (OAK-2338)

{noformat}
testMultiValuedReferenceJoin(org.apache.jackrabbit.core.query.JoinTest): No plan found for filter [Filter(query=SELECT a.*, b.* FROM [nt:unstructured] AS a INNER JOIN [nt:unstructured] AS b ON a.[jcr:uuid] = b.testref, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testJoinWithOR(org.apache.jackrabbit.core.query.JoinTest): No plan found for filter [Filter(query=SELECT a.*, b.* FROM [nt:unstructured] AS a INNER JOIN [nt:unstructured] AS b ON a.[jcr:uuid] = b.testref WHERE a.[jcr:primaryType] IS NOT NULL OR b.[jcr:primaryType] IS NOT NULL, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testJoinWithOR2(org.apache.jackrabbit.core.query.JoinTest): No plan found for filter [Filter(query=SELECT a.* FROM [nt:unstructured] AS a  INNER JOIN [nt:unstructured] AS b ON ISCHILDNODE(b, a)   WHERE    a.[p] = 'abc' OR b.[p] = 'abc'  , path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testJoinWithOR3(org.apache.jackrabbit.core.query.JoinTest): No plan found for filter [Filter(query=SELECT a.* FROM [nt:unstructured] AS a  INNER JOIN [nt:unstructured] AS b ON ISCHILDNODE(b, a)   WHERE    ( CONTAINS(b.*, 'abc' ) OR CONTAINS(a.*, 'abc') )    AND   NAME(b) = 'p2n2' , path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testOuterJoin(org.apache.jackrabbit.core.query.SQL2OuterJoinTest): No plan found for filter [Filter(query= Select * from [test:SamplePage] as page left outer join [test:SampleContent] as content on ISDESCENDANTNODE(content,page), path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testLogicalExpression(org.apache.jackrabbit.core.query.SimpleQueryTest): No plan found for filter [Filter(query=SELECT * FROM nt:unstructured WHERE a=1 and b=2 or c=3, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testOuterJoinMissingNode(org.apache.jackrabbit.core.query.SQL2OuterJoinTest): No plan found for filter [Filter(query= Select * from [test:SamplePage] as page left outer join [test:SampleContent] as content on ISDESCENDANTNODE(content,page), path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testOuterJoinExtraNode(org.apache.jackrabbit.core.query.SQL2OuterJoinTest): No plan found for filter [Filter(query= Select * from [test:SamplePage] as page left outer join [test:SampleContent] as content on ISDESCENDANTNODE(content,page), path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
{noformat}

*B - jcr:path based queries*

Following queries are not handled because Lucene index only looks for explicit path restrictions and does not handle {{jcr:path}} based property restrictions (OAK-2339)

{noformat}
  testOrderByScore(org.apache.jackrabbit.core.query.OrderByTest): No plan found for filter [Filter(query=SELECT value FROM nt:unstructured WHERE jcr:path LIKE '/testroot/%' ORDER BY jcr:score, value, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testOrderByMVP(org.apache.jackrabbit.core.query.OrderByTest): No plan found for filter [Filter(query=SELECT value FROM nt:unstructured WHERE jcr:path LIKE '/testroot/%' ORDER BY text, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testSimpleQuerySQL4(org.apache.jackrabbit.core.query.SimpleQueryTest): No plan found for filter [Filter(query=SELECT * FROM nt:unstructured WHERE jcr:path LIKE '/testroot/%', path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testIsNull(org.apache.jackrabbit.core.query.SimpleQueryTest): No plan found for filter [Filter(query=SELECT * FROM nt:unstructured WHERE mytext is null and jcr:path LIKE '/testroot/%', path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
{noformat}

*C - NodeType based query*

Following query is purely a nodeType based query and Lucene index currently does not return a MatchAllDocsQuery in any case (OAK-2340)

{noformat}
  testSQL2SelectColums(org.apache.jackrabbit.core.query.SQL2QueryResultTest): No plan found for filter [Filter(query=select * from [test:RTypeTest], path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
{noformat}

After discussing with [~alex.parvulescu] we came to conclusion that we create 3 issue for above 3 category and mark those test to be ignored and enable all the test to run against the newer index and later on fix those issues


was (Author: chetanm):
Current test failure stands at 13. With following 3 broad categories

*A - Queries using Joins*

IndexPlanner and LucenePropertyIndex do not know how to handle such queries.

{noformat}
testMultiValuedReferenceJoin(org.apache.jackrabbit.core.query.JoinTest): No plan found for filter [Filter(query=SELECT a.*, b.* FROM [nt:unstructured] AS a INNER JOIN [nt:unstructured] AS b ON a.[jcr:uuid] = b.testref, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testJoinWithOR(org.apache.jackrabbit.core.query.JoinTest): No plan found for filter [Filter(query=SELECT a.*, b.* FROM [nt:unstructured] AS a INNER JOIN [nt:unstructured] AS b ON a.[jcr:uuid] = b.testref WHERE a.[jcr:primaryType] IS NOT NULL OR b.[jcr:primaryType] IS NOT NULL, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testJoinWithOR2(org.apache.jackrabbit.core.query.JoinTest): No plan found for filter [Filter(query=SELECT a.* FROM [nt:unstructured] AS a  INNER JOIN [nt:unstructured] AS b ON ISCHILDNODE(b, a)   WHERE    a.[p] = 'abc' OR b.[p] = 'abc'  , path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testJoinWithOR3(org.apache.jackrabbit.core.query.JoinTest): No plan found for filter [Filter(query=SELECT a.* FROM [nt:unstructured] AS a  INNER JOIN [nt:unstructured] AS b ON ISCHILDNODE(b, a)   WHERE    ( CONTAINS(b.*, 'abc' ) OR CONTAINS(a.*, 'abc') )    AND   NAME(b) = 'p2n2' , path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testOuterJoin(org.apache.jackrabbit.core.query.SQL2OuterJoinTest): No plan found for filter [Filter(query= Select * from [test:SamplePage] as page left outer join [test:SampleContent] as content on ISDESCENDANTNODE(content,page), path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testLogicalExpression(org.apache.jackrabbit.core.query.SimpleQueryTest): No plan found for filter [Filter(query=SELECT * FROM nt:unstructured WHERE a=1 and b=2 or c=3, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testOuterJoinMissingNode(org.apache.jackrabbit.core.query.SQL2OuterJoinTest): No plan found for filter [Filter(query= Select * from [test:SamplePage] as page left outer join [test:SampleContent] as content on ISDESCENDANTNODE(content,page), path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testOuterJoinExtraNode(org.apache.jackrabbit.core.query.SQL2OuterJoinTest): No plan found for filter [Filter(query= Select * from [test:SamplePage] as page left outer join [test:SampleContent] as content on ISDESCENDANTNODE(content,page), path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
{noformat}

*B - jcr:path based queries*

Following queries are not handled because Lucene index only looks for explicit path restrictions and does not handle {{jcr:path}} based property restrictions

{noformat}
  testOrderByScore(org.apache.jackrabbit.core.query.OrderByTest): No plan found for filter [Filter(query=SELECT value FROM nt:unstructured WHERE jcr:path LIKE '/testroot/%' ORDER BY jcr:score, value, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testOrderByMVP(org.apache.jackrabbit.core.query.OrderByTest): No plan found for filter [Filter(query=SELECT value FROM nt:unstructured WHERE jcr:path LIKE '/testroot/%' ORDER BY text, path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testSimpleQuerySQL4(org.apache.jackrabbit.core.query.SimpleQueryTest): No plan found for filter [Filter(query=SELECT * FROM nt:unstructured WHERE jcr:path LIKE '/testroot/%', path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
  testIsNull(org.apache.jackrabbit.core.query.SimpleQueryTest): No plan found for filter [Filter(query=SELECT * FROM nt:unstructured WHERE mytext is null and jcr:path LIKE '/testroot/%', path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
{noformat}

*C - NodeType based query*

Following query is purely a nodeType based query and Lucene index currently does not return a MatchAllDocsQuery in any case

{noformat}
  testSQL2SelectColums(org.apache.jackrabbit.core.query.SQL2QueryResultTest): No plan found for filter [Filter(query=select * from [test:RTypeTest], path=*)] while using definition [IndexDefinition : /oak:index/luceneGlobal] and testMode is found to be enabled
{noformat}

After discussing with [~alex.parvulescu] we came to conclusion that we create 3 issue for above 3 category and mark those test to be ignored and enable all the test to run against the newer index and later on fix those issues

> Make current testcases pass with new index implementation
> ---------------------------------------------------------
>
>                 Key: OAK-2282
>                 URL: https://issues.apache.org/jira/browse/OAK-2282
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: oak-lucene
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>             Fix For: 1.2
>
>
> Current testcases in oak-lucene should be run against the newer index and all such testcases should pass



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