[JBoss JIRA] Created: (TEIID-1405) SELECTing data from salesforce with a WHERE condition which includes ID results in a NPE
by Van Halbert (JIRA)
SELECTing data from salesforce with a WHERE condition which includes ID results in a NPE
----------------------------------------------------------------------------------------
Key: TEIID-1405
URL: https://issues.jboss.org/browse/TEIID-1405
Project: Teiid
Issue Type: Bug
Components: Salesforce Connector
Affects Versions: 7.1.1, 7.3
Environment: Teiid 7.1.x, 7.2 and current 7.3 Alpha2 trunk running on EAP 5.1
Reporter: Wanja Pernath
Assignee: Steven Hawkins
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(a)redhat.com.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
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 9 months
[JBoss JIRA] Resolved: (TEIID-1392) Memory leak in Teiid
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-1392?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-1392.
---------------------------------
Resolution: Done
Two leaks found
1) Client State in the DQPCore was not being released when session is closed.
2) TransactionContext gets created for NONE case too, but does not get cleared when the Request is finished.
These both are fixed. Also added debug messages for "keep-alive" ping calls. Earlier in testing I have noticed "keep-alive" failures, however I was unable re-produce once the above error is fixed.
> Memory leak in Teiid
> --------------------
>
> Key: TEIID-1392
> URL: https://issues.jboss.org/browse/TEIID-1392
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.1.1
> Reporter: Pavel Macik
> Assignee: Ramesh Reddy
> Priority: Blocker
> Fix For: 7.1.1
>
> Attachments: 510ER5-eds_long_select_100t-overview.jps, eds-qs.zip
>
>
> To reproduce:
> 1.) unzip eds-qs.zip into ${SOA-P}/jboss-as/samples/quickstarts/ directory
> 2.) copy/move ${EDS-QS}/build.properties-example to ${EDS-QS}/build.properties
> 3.) the QS deploys a VDB with 2 Oracle10g datasources (you can configure (via build.properties) both to the same DB instance)
> 4.) start the server up
> 5.) using JDBC with following configuration send following SQL:
> JDBC:
> - URL: jdbc:teiid:perf@mm://${soa-p bind address}:31000
> - driver: org.teiid.jdbc.TeiidDriver
> - username/password: according to ${SOA-P}/jboss-as/server/${profile}/conf/props/teiid-security-users.properties
> SQL:
> select * from perf.long.persons where person_id < 100
> With server max heap set to 3G the GC caused by the leak affects the server after cca 150k iterations
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 9 months
[JBoss JIRA] Created: (TEIID-1400) Adding ORDER BY to SELECT COUNT(*) FROM ... returns org.teiid.core.TeiidProcessingException: null to client - Needs clearer message
by Van Halbert (JIRA)
Adding ORDER BY to SELECT COUNT(*) FROM ... returns org.teiid.core.TeiidProcessingException: null to client - Needs clearer message
-----------------------------------------------------------------------------------------------------------------------------------
Key: TEIID-1400
URL: https://issues.jboss.org/browse/TEIID-1400
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 7.1.1
Reporter: Paul Nittel
Assignee: Steven Hawkins
I had quickly queried SELECT COUNT(*) FROM sometable ORDER BY ColA, ColB and received org.teiid.core.TeiidProcessingException: null as a result. Checking the server, I found the stack trace below. Neither actually points out the ORDER BY is incorrect since it does not reference projected columns.
A clearer message will help the users.
2010-12-14 12:54:05,010 ERROR [org.teiid.CONNECTOR] (Worker28_QueryProcessorQueue2669) Connector worker process failed for atomic-request=J76UbF11tQAM.0.1.753
java.lang.AssertionError
at org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:504)
at org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:432)
at org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:207)
at org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:130)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:213)
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-14 12:54:05,042 WARN [org.teiid.PROCESSOR] (Worker27_QueryProcessorQueue2670) Processing exception 'null' for request J76UbF11tQAM.0. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:504). Enable more detailed logging to see the entire stacktrace.
2010-12-14 12:54:20,404 ERROR [org.teiid.CONNECTOR] (Worker28_QueryProcessorQueue2673) Connector worker process failed for atomic-request=Tfqv5NFZIOX4.0.1.754
java.lang.AssertionError
at org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:504)
at org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:432)
at org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:207)
at org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:130)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:213)
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-14 12:54:20,405 WARN [org.teiid.PROCESSOR] (Worker27_QueryProcessorQueue2674) Processing exception 'null' for request Tfqv5NFZIOX4.0. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:504). Enable more detailed logging to see the entire stacktrace.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 9 months
[JBoss JIRA] Created: (TEIID-1398) Restrict access of default port 31000 to JDBC and 31443 to Admin connections
by Van Halbert (JIRA)
Restrict access of default port 31000 to JDBC and 31443 to Admin connections
----------------------------------------------------------------------------
Key: TEIID-1398
URL: https://issues.jboss.org/browse/TEIID-1398
Project: Teiid
Issue Type: Bug
Components: Server
Affects Versions: 7.1
Reporter: Ramesh Reddy
Assignee: Steven Hawkins
31000 is default connection port intended for JDBC connections. ex: jdbc:teiid<vdb>@mm://host:31000
31443 is default secured connection port intended for Admin connections ex: mms://<host>:31443
However, due to lack of restriction in the Teiid server, user can make a JDBC connection like "jdbc:teiid<vdb>@mms://host:31443", or make an Admin connection like "mm://localhost:31000" thus creates a confusion as to which form to use "mm" or "mms" and which port to use "31000" or "31443".
The reason 31443 originally created was to secure the Admin connections and to create a separate process thread pool as Admin calls are synchronous. Where are JDBC calls as asynchronous. Mixing them up might lead confusion and not to mention thread contention under heavy load. So, Teiid should restrict the use of 31000 to JDBC and 31443 to Admin traffic.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 9 months