Bug 780308 (SOA-2713) - SELECTing data from salesforce with a WHERE condition which includes ID results in a NPE
Summary: SELECTing data from salesforce with a WHERE condition which includes ID resul...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: SOA-2713
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: EDS
Version: 5.1.0.ER6
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
: 5.1.0.CR1
Assignee: Steven Hawkins
QA Contact:
URL: http://jira.jboss.org/jira/browse/SOA...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-12-21 15:29 UTC by Wanja Pernath
Modified: 2011-02-03 15:15 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Teiid 7.1.x, 7.2 and current 7.3 Alpha2 trunk running on EAP 5.1
Last Closed: 2011-02-03 15:15:57 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SOA-2713 0 None Closed SELECTing data from salesforce with a WHERE condition which includes ID results in a NPE 2012-07-03 23:27:30 UTC

Description Wanja Pernath 2010-12-21 15:29:51 UTC
project_key: SOA

Steps to reproduce:

1. Use teiid-designer to import salesforce structure
2. Build and deploy a VDB to teiid<version>
3. Now find an existing ID of for example an Account

// just to get a valid ID
select ID from Account where Name like 'xyz';

// now try to fetch the Account with just ID in WHERE condition
select ID, Name from Account where ID = 'xyz.id'

You'll get a NPE with the following stacktrace (this is current subversion trunk).

Note, this only happens if you're using salesforce connector. It does not happen if the table is materialized.



2010-12-20 23:27:22,753 DEBUG [org.teiid.CONNECTOR] (Worker185_QueryProcessorQueue2804) uPHr01U+UKiU.0.1.231 Create State
2010-12-20 23:27:22,754 DEBUG [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2805) uPHr01U+UKiU.0.1.231 Processing NEW request: SELECT gss.salesforce.Account.Id, gss.salesforce.Account.Name FROM gss.salesforce.Account WHERE gss.salesforce.Account.Id = '001A000000K65hEIAR'
2010-12-20 23:27:23,805 ERROR [org.jboss.remoting.transport.http.HTTPClientInvoker] (Worker186_QueryProcessorQueue2805) Error creating SSL Socket Factory for client invoker: Error initializing socket factory SSL context: Can not find truststore url.
2010-12-20 23:27:24,926 DEBUG [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2805) Login was successful for username wpernath.gss
2010-12-20 23:27:24,928 ERROR [org.jboss.remoting.transport.http.HTTPClientInvoker] (Worker186_QueryProcessorQueue2805) Error creating SSL Socket Factory for client invoker: Error initializing socket factory SSL context: Can not find truststore url.
2010-12-20 23:27:26,125 DEBUG [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2805) uPHr01U+UKiU.0.1.231 Obtained execution
2010-12-20 23:27:26,125 DEBUG [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2805) gss.uPHr01U+UKiU.uPHr01U+UKiU.0.1:  Incoming Query: SELECT Account.Id, Account.Name FROM Account WHERE Account.Id = '001A000000K65hEIAR'
2010-12-20 23:27:26,125 ERROR [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2805) Connector worker process failed for atomic-request=uPHr01U+UKiU.0.1.231
java.lang.NullPointerException
	at org.teiid.translator.salesforce.execution.visitors.SelectVisitor.getIdInCriteria(SelectVisitor.java:214)
	at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:140)
	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:263)
	at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:281)
	at org.teiid.dqp.internal.process.DataTierTupleSource.access$000(DataTierTupleSource.java:71)
	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:123)
	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:120)
	at org.teiid.dqp.internal.process.DQPCore$FutureWork.run(DQPCore.java:108)
	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:188)
	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:116)
	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:290)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
2010-12-20 23:27:26,126 ERROR [org.teiid.PROCESSOR] (Worker185_QueryProcessorQueue2806) Unexpected exception for request uPHr01U+UKiU.0
java.lang.NullPointerException
	at org.teiid.translator.salesforce.execution.visitors.SelectVisitor.getIdInCriteria(SelectVisitor.java:214)
	at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:140)
	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:263)
	at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:281)
	at org.teiid.dqp.internal.process.DataTierTupleSource.access$000(DataTierTupleSource.java:71)
	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:123)
	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:120)
	at org.teiid.dqp.internal.process.DQPCore$FutureWork.run(DQPCore.java:108)
	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:188)
	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:116)
	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:290)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
2010-12-20 23:27:26,126 DEBUG [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2807) uPHr01U+UKiU.0.1.231 Processing Close : SELECT gss.salesforce.Account.Id, gss.salesforce.Account.Name FROM gss.salesforce.Account WHERE gss.salesforce.Account.Id = '001A000000K65hEIAR'
2010-12-20 23:27:26,126 DEBUG [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2807) SynchQueryExecution.close() called
2010-12-20 23:27:26,126 DEBUG [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2807) uPHr01U+UKiU.0.1.231 Closed execution
2010-12-20 23:27:26,126 DEBUG [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2807) uPHr01U+UKiU.0.1.231 Remove State
2010-12-20 23:27:26,126 DEBUG [org.teiid.CONNECTOR] (Worker186_QueryProcessorQueue2807) uPHr01U+UKiU.0.1.231 Closed connection

Comment 1 Van Halbert 2010-12-21 15:29:52 UTC
Link: Added: This issue Cloned from TEIID-1402


Comment 2 Van Halbert 2010-12-21 15:30:22 UTC
Security: Added: Public


Comment 3 Van Halbert 2010-12-21 16:57:18 UTC
Changes were committed to the Teiid 7.1.x product branch and should be in the CR1 release.

Comment 4 Wanja Pernath 2010-12-21 22:33:22 UTC
See comments here:
https://issues.jboss.org/browse/TEIID-1402

Comment 6 Warren Gibson 2011-02-03 15:15:57 UTC
2/3/2011 wgibson resolved


Note You need to log in before you can comment on or make changes to this bug.