[teiid-issues] [JBoss JIRA] Resolved: (TEIID-1108) Receiving NPE when querying DynamicPortfolio VDB with more complicated query
Steve Hawkins (JIRA)
jira-events at lists.jboss.org
Fri Jun 4 23:13:25 EDT 2010
[ https://jira.jboss.org/browse/TEIID-1108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Hawkins resolved TEIID-1108.
----------------------------------
Resolution: Done
Fixed the assumption that a source node for a virtual group will be a view.
> Receiving NPE when querying DynamicPortfolio VDB with more complicated query
> ----------------------------------------------------------------------------
>
> Key: TEIID-1108
> URL: https://jira.jboss.org/browse/TEIID-1108
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 7.0
> Environment: Fedora 12, Build from 3 June, OpenJDK Runtime Environment (IcedTea6 1.8) (fedora-38.b18.fc12-i386)
> Reporter: Paul Nittel
> Assignee: Steve Hawkins
> Fix For: 7.0
>
>
> I played with the dynamic portfolio VDB and tried to run a query (after deploying a data source based on the VDB). I am able to query the two source within the VDB just fine. In fact, the example's suggested query works:
> select * from product, (call MarketData.getTextFiles('*.txt')) f, TEXTTABLE(f.file COLUMNS symbol string, price bigdecimal HEADER) price where product.symbol=price.symbol
> The query is:
> select LASTNAME, COMPANY_NAME, SHARES_COUNT, PRICE, (SHARES_COUNT * PRICE) AS CurrentValue from holdings,customer, account, product, (call MarketData.getTextFiles('*.txt')) f, TEXTTABLE(f.file COLUMNS symbol string, price bigdecimal HEADER) price where (product.symbol=price.symbol) AND (id = product_id) AND (holdings.account_id = account.account_id) AND (account.ssn = customer.ssn)
> Eliminating the calculation did not help.
> And the exception from server.log is:
> 2010-06-03 09:32:37,263 ERROR [org.teiid.PROCESSOR] (WorkManager(2)-7_QueryProcessorQueue5) Unexpected exception for request lkWFkP39zsZY.4
> java.lang.NullPointerException
> at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.getNDV(NewCalculateCostUtil.java:840)
> at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.getNDV(NewCalculateCostUtil.java:1077)
> at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.computeCostForDepJoin(NewCalculateCostUtil.java:967)
> at org.teiid.query.optimizer.relational.rules.RuleChooseDependent.execute(RuleChooseDependent.java:92)
> at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:366)
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:167)
> at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:110)
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:432)
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:455)
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:349)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:167)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
> at org.teiid.dqp.internal.process.DQPWorkContext$2.call(DQPWorkContext.java:190)
> at org.teiid.dqp.internal.process.DQPWorkContext$2.call(DQPWorkContext.java:187)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:176)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:187)
> at org.teiid.dqp.internal.process.StatsCapturingWorkManager$WorkWrapper.run(StatsCapturingWorkManager.java:102)
> at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)
> at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:636)
> The error displayed by the JDBC query tool is:
> org.teiid.jdbc.TeiidSQLException: org.teiid.core.TeiidException
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:109)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:69)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:426)
> at org.teiid.jdbc.StatementImpl.executeQuery(StatementImpl.java:329)
> at org.jboss.resource.adapter.jdbc.WrappedStatement.executeQuery(WrappedStatement.java:226)
> at JDBCQueryServlet.doPost(JDBCQueryServlet.java:67)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
> at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
> at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
> at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:636)
> Caused by: [TeiidException]
> 1 [NullPointerException]
> at org.teiid.client.ResultsMessage.setException(ResultsMessage.java:177)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:522)
> at org.teiid.dqp.internal.process.RequestWorkItem.attemptClose(RequestWorkItem.java:329)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:214)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
> at org.teiid.dqp.internal.process.DQPWorkContext$2.call(DQPWorkContext.java:190)
> at org.teiid.dqp.internal.process.DQPWorkContext$2.call(DQPWorkContext.java:187)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:176)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:187)
> at org.teiid.dqp.internal.process.StatsCapturingWorkManager$WorkWrapper.run(StatsCapturingWorkManager.java:102)
> at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)
> at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> ... 1 more
> Caused by: java.lang.NullPointerException
> at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.getNDV(NewCalculateCostUtil.java:840)
> at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.getNDV(NewCalculateCostUtil.java:1077)
> at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.computeCostForDepJoin(NewCalculateCostUtil.java:967)
> at org.teiid.query.optimizer.relational.rules.RuleChooseDependent.execute(RuleChooseDependent.java:92)
> at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:366)
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:167)
> at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:110)
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:432)
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:455)
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:349)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:167)
> ... 11 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the teiid-issues
mailing list