ASSERTION FAILED: expected reference to be not null
mtawk Jul 5, 2016 10:20 AMI'm using teiid 9.0.0 over h2 :
I'm getting ASSERTION_FAILED over the following query and can not find what is causing this exception:
select "Sheet1"."AvgAmoutRange" as "Sheet1_EBt_211215_AvgAmoutRa1",COUNT( distinct IFNULL("CEGlobalView"."Customer_CustomerID",-2147483648)) as "CEGlobalView_Customer_Custom2","CEGlobalView"."Customer_GenderID" as "CEGlobalView_Customer_Gender1","Gender"."Gender" as "Gender_Gender","Sheet1"."Sheet1_EBt_211215ID" as "Sheet1_EBt_211215_Sheet1_EBt11" from "CEBanksBusinessModel"."CEGlobalView" "CEGlobalView" LEFT JOIN "h2dbimplify_data_cebankModel_ST"."implify_data_cebank"."Sheet1_EBt_211215" "Sheet1" ON ( ("CEGlobalView"."StreamCardsvt3r_StreamCards_1" BETWEEN "Sheet1"."Min" and "Sheet1"."Max") )
LEFT JOIN "h2dbimplify_data_cebankModel_fR"."implify_data_cebank"."Gender" "Gender" ON "CEGlobalView"."Customer_GenderID" = "Gender"."GenderID"
LEFT JOIN "h2dbimplify_data_cebankModel_fR"."implify_data_cebank"."CustomerTag" "CustomerTag" ON "CEGlobalView"."Customer_CustomerID" = "CustomerTag"."Customer_CustomerID" AND ( ( ("CustomerTag"."EndDateTime" > CURDATE()) OR ( ("CustomerTag"."EndDateTime" IS null ) ) ) )
LEFT JOIN "h2dbimplify_data_cebankModel_fR"."implify_data_cebank"."TagValue" "TagValue" ON "CustomerTag"."TagValue_TagValueID" = "TagValue"."TagValueID"
LEFT JOIN "h2dbimplify_data_cebankModel_fR"."implify_data_cebank"."TagName" "TagName" ON "TagValue"."TagName_TagNameID" = "TagName"."TagNameID" AND ( ( ("TagName"."TagType_TagTypeID" IN (1.0) ) ) AND ( ("TagName"."TagScope_TagScopeID" IN (1.0) ) ) )
where ( ( ( ("TagName"."TagName" IN ('Behavior') ) ) ) AND ( ("Sheet1"."AvgAmoutRange" IS NOT null ) ) AND ( ("CEGlobalView"."Customer_GenderID" IS NOT null ) ) AND ( ("Gender"."Gender" IS NOT null ) ) ) group by "Sheet1"."AvgAmoutRange","CEGlobalView"."Customer_GenderID","Gender"."Gender","Sheet1"."Sheet1_EBt_211215ID" order by "Sheet1"."Sheet1_EBt_211215ID" ASC,"Sheet1"."AvgAmoutRange" ASC,"Gender"."Gender" DESC,"CEGlobalView"."Customer_GenderID" DESC
Here is the corresponding execution plan:
<?xml version='1.0' encoding='UTF-8'?><node name="ProjectNode"><property name="Relational Node ID"><value>1</value></property><property name="Output Columns"><value>StreamAccountNOSX_StreamAcco1 (integer)</value><value>StreamChannel_StreamChannel (string)</value><value>StreamAccountNOSX_StreamAcco (long)</value><value>StreamAccountNOSX_StreamAcco31 (integer)</value><value>StreamChannel_StreamChannel1 (string)</value><value>StreamAccountNOSX_StreamAcco2 (long)</value></property><property name="Statistics"><value>Node Output Rows: 0</value><value>Node Next Batch Process Time: 0</value><value>Node Cumulative Next Batch Process Time: 0</value><value>Node Cumulative Process Time: 0</value><value>Node Next Batch Calls: 0</value><value>Node Blocks: 0</value></property><property name="Cost Estimates"><value>Estimated Node Cardinality: -1.0</value></property><property name="Child 0"><node name="GroupingNode"><property name="Relational Node ID"><value>2</value></property><property name="Output Columns"><value>gcol2 (integer)</value><value>gcol3 (string)</value><value>agg0 (long)</value></property><property name="Statistics"><value>Node Output Rows: 0</value><value>Node Next Batch Process Time: 0</value><value>Node Cumulative Next Batch Process Time: 0</value><value>Node Cumulative Process Time: 0</value><value>Node Next Batch Calls: 0</value><value>Node Blocks: 0</value></property><property name="Cost Estimates"><value>Estimated Node Cardinality: -1.0</value></property><property name="Child 0"><node name="JoinNode"><property name="Relational Node ID"><value>3</value></property><property name="Output Columns"><value>StreamAccount_StreamChannelI (integer)</value><value>StreamChannel (string)</value><value>StreamAccount_StreamAcID (integer)</value></property><property name="Statistics"><value>Node Output Rows: 0</value><value>Node Next Batch Process Time: 0</value><value>Node Cumulative Next Batch Process Time: 0</value><value>Node Cumulative Process Time: 0</value><value>Node Next Batch Calls: 0</value><value>Node Blocks: 0</value></property><property name="Cost Estimates"><value>Estimated Node Cardinality: -1.0</value></property><property name="Child 0"><node name="JoinNode"><property name="Relational Node ID"><value>4</value></property><property name="Output Columns"><value>TagValue_TagValueID (integer)</value><value>StreamAccount_StreamChannelI (integer)</value><value>StreamChannel (string)</value><value>StreamAccount_StreamAcID (integer)</value></property><property name="Statistics"><value>Node Output Rows: 0</value><value>Node Next Batch Process Time: 0</value><value>Node Cumulative Next Batch Process Time: 0</value><value>Node Cumulative Process Time: 0</value><value>Node Next Batch Calls: 0</value><value>Node Blocks: 0</value></property><property name="Cost Estimates"><value>Estimated Node Cardinality: -1.0</value></property><property name="Child 0"><node name="JoinNode"><property name="Relational Node ID"><value>5</value></property><property name="Output Columns"/><property name="Cost Estimates"><value>Estimated Node Cardinality: -1.0</value></property><property name="Child 0"><node name="AccessNode"><property name="Relational Node ID"><value>6</value></property><property name="Output Columns"><value>StreamAccount_StreamChannelI (integer)</value></property><property name="Cost Estimates"><value>Estimated Node Cardinality: -1.0</value></property><property name="Query"><value>SELECT g_0.StreamAccount_StreamChannelI AS c_0 FROM h2dbimplify_data_cebankModel_ST.implify_data_cebank.StreamAccountNOSX AS g_0 LEFT OUTER JOIN h2dbimplify_data_cebankModel_ST.implify_data_cebank.CEGlobalView AS g_1 ON g_0.StreamAccount_CustomerID = g_1.Customer_CustomerID WHERE (g_0.StreamAccount_DateTime4 >= '2015-07') AND (g_0.StreamAccount_DateTime4 <= '2016-07') ORDER BY c_0</value></property><property name="Model Name"><value>h2dbimplify_data_cebankModel_ST</value></property></node></property><property name="Child 1"><node name="AccessNode"><property name="Relational Node ID"><value>7</value></property><property name="Output Columns"><value>StreamChannelID (integer)</value></property><property name="Cost Estimates"><value>Estimated Node Cardinality: -1.0</value></property><property name="Query"><value>SELECT g_0.StreamChannelID AS c_0 FROM h2dbimplify_data_cebankModel_fR.implify_data_cebank.StreamChannel AS g_0 ORDER BY c_0</value></property><property name="Model Name"><value>h2dbimplify_data_cebankModel_fR</value></property></node></property><property name="Join Strategy"><value>MERGE JOIN (ALREADY_SORTED/ALREADY_SORTED)</value></property><property name="Join Type"><value>LEFT OUTER JOIN</value></property><property name="Join Criteria"><value>StreamAccount_StreamChannelI=StreamChannel.StreamChannelID</value></property></node></property><property name="Child 1"><node name="AccessNode"><property name="Relational Node ID"><value>8</value></property><property name="Output Columns"><value>Customer_CustomerID (integer)</value><value>TagValue_TagValueID (integer)</value></property><property name="Cost Estimates"><value>Estimated Node Cardinality: -1.0</value></property><property name="Query"><value>SELECT g_0.Customer_CustomerID, g_0.TagValue_TagValueID FROM h2dbimplify_data_cebankModel_fR.implify_data_cebank.CustomerTag AS g_0 WHERE (g_0.EndDateTime > convert(CURDATE(), timestamp)) OR (g_0.EndDateTime IS NULL)</value></property><property name="Model Name"><value>h2dbimplify_data_cebankModel_fR</value></property></node></property><property name="Join Strategy"><value>NESTED LOOP JOIN</value></property><property name="Join Type"><value>LEFT OUTER JOIN</value></property><property name="Join Criteria"><value>Customer_CustomerID = CustomerTag.Customer_CustomerID</value></property></node></property><property name="Child 1"><node name="AccessNode"><property name="Relational Node ID"><value>9</value></property><property name="Output Columns"><value>TagValueID (integer)</value></property><property name="Cost Estimates"><value>Estimated Node Cardinality: -1.0</value></property><property name="Query"><value>SELECT g_0.TagValueID AS c_0 FROM h2dbimplify_data_cebankModel_fR.implify_data_cebank.TagValue AS g_0, h2dbimplify_data_cebankModel_fR.implify_data_cebank.TagName AS g_1 WHERE (g_0.TagName_TagNameID = g_1.TagNameID) AND (g_1.TagName = 'Behavior') AND (g_1.TagType_TagTypeID = 1) AND (g_1.TagScope_TagScopeID = 1) ORDER BY c_0</value></property><property name="Model Name"><value>h2dbimplify_data_cebankModel_fR</value></property></node></property><property name="Join Strategy"><value>ENHANCED SORT JOIN (SORT/ALREADY_SORTED)</value></property><property name="Join Type"><value>INNER JOIN</value></property><property name="Join Criteria"><value>CustomerTag.TagValue_TagValueID=TagValue.TagValueID</value></property></node></property><property name="Grouping Columns"><value>StreamChannel.StreamChannel</value><value>StreamAccount_StreamChannelI</value></property><property name="Grouping Mapping"><value>anon_grp0.gcol0=StreamAccount_StreamChannelI</value><value>anon_grp0.gcol1=StreamChannel.StreamChannel</value><value>anon_grp0.gcol2=StreamAccount_StreamChannelI</value><value>anon_grp0.gcol3=StreamChannel.StreamChannel</value><value>anon_grp0.agg0=SUM(StreamAccount_StreamAcID)</value></property><property name="Sort Mode"><value>false</value></property></node></property><property name="Select Columns"><value>anon_grp0.gcol2 AS StreamAccountNOSX_StreamAcco1</value><value>anon_grp0.gcol3 AS StreamChannel_StreamChannel</value><value>anon_grp0.agg0 AS StreamAccountNOSX_StreamAcco</value><value>anon_grp0.gcol2 AS StreamAccountNOSX_StreamAcco31</value><value>anon_grp0.gcol3 AS StreamChannel_StreamChannel1</value><value>anon_grp0.agg0 AS StreamAccountNOSX_StreamAcco2</value></property><property name="Data Bytes Sent"><value>0</value></property><property name="Planning Time"><value>25</value></property></node>
The exception stack:
ERROR TEIID_DQP_LOGGER:90 (http-bio-8080-exec-14) - - [TEIID30019 Unexpected exception for request rBDBCRYcUyyM.0]
java.lang.AssertionError: ASSERTION FAILED: expected reference to be not null
at org.teiid.core.util.Assertion.failed(Assertion.java:73)
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:92)
at org.teiid.query.processor.relational.RelationalNode.getProjectionIndexes(RelationalNode.java:367)
at org.teiid.query.processor.relational.JoinNode.initialize(JoinNode.java:133)
at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:96)
at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:102)
at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:102)
at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:102)
at org.teiid.query.processor.relational.RelationalPlan.initialize(RelationalPlan.java:91)
at org.teiid.query.processor.QueryProcessor.init(QueryProcessor.java:226)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:138)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
at org.teiid.dqp.internal.process.DQPCore.executeRequest(DQPCore.java:313)
at org.teiid.dqp.internal.process.DQPCore.executeRequest(DQPCore.java:245)
at sun.reflect.GeneratedMethodAccessor423.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.teiid.transport.LocalServerConnection$1$1.call(LocalServerConnection.java:177)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:260)
at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:175)
at com.sun.proxy.$Proxy34.executeRequest(Unknown Source)
at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:673)
at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:539)
at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:1060)
at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:323)