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

Artem Shutak commented on IGNITE-1232:
--------------------------------------

Found that queries like {{select name from (select name from 
"repl".Organization)}} fails with NPE (only in distributed joins case). 
The issue is about new implementation of 
{{GridH2IndexBase.getDistributedMultiplier}} for distributed joins support.
{noformat}
javax.cache.CacheException: class org.apache.ignite.IgniteException: Failed to 
parse query: select name from (select name from "PARTITIONED_b1_3".Organization)
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:669)
        at 
org.apache.ignite.internal.processors.query.h2.sql.AbstractH2CompareQueryTest.compareQueryRes0(AbstractH2CompareQueryTest.java:279)
        at 
org.apache.ignite.internal.processors.cache.IgniteCrossCachesDistributedJoinQueryTest.checkDistributedCrossCacheJoin(IgniteCrossCachesDistributedJoinQueryTest.java:428)
        at 
org.apache.ignite.internal.processors.cache.IgniteCrossCachesDistributedJoinQueryTest.testCrossCacheDistributedJoin(IgniteCrossCachesDistributedJoinQueryTest.java:313)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at junit.framework.TestCase.runTest(TestCase.java:176)
        at 
org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1758)
        at 
org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:118)
        at 
org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1696)
        at java.lang.Thread.run(Thread.java:745)
Caused by: class org.apache.ignite.IgniteException: Failed to parse query: 
select name from (select name from "PARTITIONED_b1_3".Organization)
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:734)
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheProxy.query(IgniteCacheProxy.java:660)
        ... 12 more
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to parse 
query: select name from (select name from "PARTITIONED_b1_3".Organization)
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1680)
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.queryTwoStep(GridQueryProcessor.java:727)
        ... 13 more
Caused by: javax.cache.CacheException: Failed to parse query: select name from 
(select name from "PARTITIONED_b1_3".Organization)
        at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1129)
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:729)
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:727)
        at 
org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:1662)
        ... 14 more
Caused by: org.h2.jdbc.JdbcSQLException: General error: 
"java.lang.NullPointerException" [50000-191]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
        at org.h2.message.DbException.get(DbException.java:168)
        at org.h2.message.DbException.convert(DbException.java:295)
        at org.h2.message.DbException.toSQLException(DbException.java:268)
        at org.h2.message.TraceObject.logAndConvert(TraceObject.java:352)
        at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:280)
        at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepareStatement(IgniteH2Indexing.java:389)
        at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.queryTwoStep(IgniteH2Indexing.java:1113)
        ... 18 more
Caused by: java.lang.NullPointerException
        at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2CollocationModel.getSubQuery(GridH2CollocationModel.java:485)
        at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2CollocationModel.child(GridH2CollocationModel.java:467)
        at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2CollocationModel.buildCollocationModel(GridH2CollocationModel.java:556)
        at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2CollocationModel.buildCollocationModel(GridH2CollocationModel.java:517)
        at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2IndexBase.getDistributedMultiplier(GridH2IndexBase.java:152)
        at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$ScanIndex.getCost(GridH2Table.java:945)
        at org.h2.table.TableFilter.getBestPlanItem(TableFilter.java:198)
        at org.h2.table.Plan.calculateCost(Plan.java:120)
        at org.h2.command.dml.Optimizer.testPlan(Optimizer.java:183)
        at org.h2.command.dml.Optimizer.calculateBestPlan(Optimizer.java:79)
        at org.h2.command.dml.Optimizer.optimize(Optimizer.java:242)
        at org.h2.command.dml.Select.preparePlan(Select.java:1014)
        at org.h2.command.dml.Select.prepare(Select.java:878)
        at org.h2.command.Parser.prepare(Parser.java:237)
        at org.h2.engine.Session.prepare(Session.java:525)
        at org.h2.index.ViewIndex.prepareSubQuery(ViewIndex.java:170)
        at org.h2.index.ViewIndex.getQuery(ViewIndex.java:303)
        at org.h2.index.ViewIndex.<init>(ViewIndex.java:100)
        at org.h2.table.TableView.getBestPlanItem(TableView.java:243)
        at org.h2.table.TableView.getScanIndex(TableView.java:453)
        at org.h2.table.TableFilter.getBestPlanItem(TableFilter.java:197)
        at org.h2.table.Plan.calculateCost(Plan.java:120)
        at org.h2.command.dml.Optimizer.testPlan(Optimizer.java:183)
        at org.h2.command.dml.Optimizer.calculateBestPlan(Optimizer.java:79)
        at org.h2.command.dml.Optimizer.optimize(Optimizer.java:242)
        at org.h2.command.dml.Select.preparePlan(Select.java:1014)
        at org.h2.command.dml.Select.prepare(Select.java:878)
        at org.h2.command.Parser.prepareCommand(Parser.java:257)
        at org.h2.engine.Session.prepareLocal(Session.java:560)
        at org.h2.engine.Session.prepareCommand(Session.java:501)
        at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1188)
        at 
org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:73)
        at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:276)
        ... 20 more
{noformat}

> Support distributed SQL JOIN 
> -----------------------------
>
>                 Key: IGNITE-1232
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1232
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Sergi Vladykin
>            Assignee: Sergi Vladykin
>             Fix For: 1.6
>
>




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

Reply via email to