[JBoss JIRA] (TEIID-3686) OData DELETE nonexisting row - wrong response code
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3686?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-3686.
---------------------------------
Resolution: Done
I validated with V2 that the second try returns 404, not 200. On DV 6.3
In V4, is OData spec folks tell me that 204 is right response, so I am going to modify V4 implementation. If we need this in 8.12.5 please let me know I pull it in.
> OData DELETE nonexisting row - wrong response code
> --------------------------------------------------
>
> Key: TEIID-3686
> URL: https://issues.jboss.org/browse/TEIID-3686
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.7.1.6_2
> Reporter: Michal Sanitrak
> Assignee: Ramesh Reddy
> Labels: CR1
> Fix For: 8.7.2.6_2, 8.12
>
>
> I deployed VDB that can be accessed with OData. When I perform DELETE request to remove row for first time response code is 200 OK (maybe it should be 204) but when I repeat the same DELETE request and tried to delete already deleted entry, response is again 200 OK, but it should be 404 Not Found. Same thing happens even I when tried to delete entry with id that doesn't exist at all.
> Only indication of this problem is in the server log:
> {code:plain}INFO [org.teiid.ODATA] (http-/127.0.0.1:8080-1) no entity to delete in = BooksMySQL.BOOKS with key= ('1')
> {code}
> I think that response code for deleting row that doesn't exist should be different than 200 OK.
> For example the service at odata.org returns following content with response code 404 Not Found:
> {code:xml}
> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
> <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
> <code></code>
> <message xml:lang="en-US">Resource not found for the segment 'Products'.</message>
> </error>
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4292) VDB file extention must be all lowercase
by Steve Tran (JIRA)
Steve Tran created TEIID-4292:
---------------------------------
Summary: VDB file extention must be all lowercase
Key: TEIID-4292
URL: https://issues.jboss.org/browse/TEIID-4292
Project: Teiid
Issue Type: Bug
Affects Versions: 8.7.1.6_2
Reporter: Steve Tran
Assignee: Steven Hawkins
Priority: Minor
Might be obvious, but the file extension of a VDB must be all lowercase. The web console looked like it deployed and enabled it, but if you go into the Runtime tab, the VDB is not there.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4291) Object translator does not take into account folders where determining table name
by Van Halbert (JIRA)
Van Halbert created TEIID-4291:
----------------------------------
Summary: Object translator does not take into account folders where determining table name
Key: TEIID-4291
URL: https://issues.jboss.org/browse/TEIID-4291
Project: Teiid
Issue Type: Bug
Components: Misc. Connectors
Affects Versions: 8.12.x, 9.2
Reporter: Van Halbert
Assignee: Steven Hawkins
When obtaining the table name and using it to match the registered class (configured in RA), the logic doesn't take into account when folders are used. The name is returned like: folder[.folder].tableName
Nee to change logic to strip folder(s) to get the tableName.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4279) Text Based LoginModule does not find properties files
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-4279?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-4279.
---------------------------------
Fix Version/s: 9.1
Assignee: Ramesh Reddy (was: Steven Hawkins)
Resolution: Done
Updated the documentation to create the empty user.properties and roles.properties to avoid the error.
> Text Based LoginModule does not find properties files
> -----------------------------------------------------
>
> Key: TEIID-4279
> URL: https://issues.jboss.org/browse/TEIID-4279
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 9.0
> Reporter: Bram Gadeyne
> Assignee: Ramesh Reddy
> Fix For: 9.1
>
>
> In the documentation (https://teiid.gitbooks.io/documents/content/v/9.0.x/security/LoginModules... ) it says that Text Based LoginModule can be configures relative to the $(jboss.server.config.dir) property. However if I use these default settings I get the following exception.
> PBOX00261: Failed to load users/passwords/roles files: java.io.IOException: PBOX00072: Properties file $(jboss.server.config.dir)/teiid-security-users.properties/defaultUsers.properties not found
> at org.jboss.security.auth.spi.Util.loadProperties(Util.java:212)
> at org.jboss.security.auth.spi.UsersRolesLoginModule.loadUsers(UsersRolesLoginModule.java:205)
> at org.jboss.security.auth.spi.UsersRolesLoginModule.createUsers(UsersRolesLoginModule.java:219)
> at org.jboss.security.auth.spi.UsersRolesLoginModule.initialize(UsersRolesLoginModule.java:146)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at javax.security.auth.login.LoginContext.invoke(LoginContext.java:736)
> at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
> at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
> at org.jboss.security.authentication.JBossCachedAuthenticationManager.defaultLogin(JBossCachedAuthenticationManager.java:406)
> at org.jboss.security.authentication.JBossCachedAuthenticationManager.proceedWithJaasLogin(JBossCachedAuthenticationManager.java:345)
> at org.jboss.security.authentication.JBossCachedAuthenticationManager.authenticate(JBossCachedAuthenticationManager.java:333)
> at org.jboss.security.authentication.JBossCachedAuthenticationManager.isValid(JBossCachedAuthenticationManager.java:146)
> at org.teiid.jboss.JBossSecurityHelper.authenticate(JBossSecurityHelper.java:120)
> at org.teiid.jboss.JBossSecurityHelper.authenticate(JBossSecurityHelper.java:60)
> at org.teiid.services.SessionServiceImpl.createSession(SessionServiceImpl.java:206)
> at org.teiid.transport.LogonImpl.logon(LogonImpl.java:142)
> at org.teiid.transport.LogonImpl.logon(LogonImpl.java:127)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.teiid.transport.ServerWorkItem.run(ServerWorkItem.java:87)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.transport.SocketClientInstance.processMessagePacket(SocketClientInstance.java:236)
> at org.teiid.transport.SocketClientInstance.receivedMessage(SocketClientInstance.java:222)
> at org.teiid.transport.SSLAwareChannelHandler.messageReceived(SSLAwareChannelHandler.java:212)
> at org.teiid.transport.SSLAwareChannelHandler.channelRead(SSLAwareChannelHandler.java:218)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)
> at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
> at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
> at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
> at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
> at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
> at java.lang.Thread.run(Thread.java:745)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4183) MSSQL JDBC driver invalidates kerberos ticket on Connection.close()
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-4183?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-4183:
-------------------------------------
[~jdurani] I tried setting up your environment, but the test kept deleting some files and then server get shutdown etc., it is much for me to learn mechanics of this to test this usecase. So, I set up a 6.3 ER4 server and copied all the necessary configuration and files and I see that wrapping is occurring as designed.
Now, if that wrapping process itself is bad then it will fail, I can understand that. Otherwise I am not seeing any variance. Since your MSSQL instance is down I can not verify this fully, I need the SQL Server running so that I can fully test this. The tag for next build is on Friday, so I need this fixed by tomorrow, and test and provide a fix, otherwise it will slip from next build
> MSSQL JDBC driver invalidates kerberos ticket on Connection.close()
> -------------------------------------------------------------------
>
> Key: TEIID-4183
> URL: https://issues.jboss.org/browse/TEIID-4183
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.12.x, 8.7.5.6_2
> Reporter: Juraj Duráni
> Assignee: Ramesh Reddy
> Fix For: 9.0, 8.12.5
>
>
> MSSQL JDBC driver invalidate kerberos ticket on Connection.close() (related bugzilla \[1\]).
> If user creates kerberos connection, driver invalidates ticket on closing connection (Connection.close()). Therefore ticket cannot be re-used. EAP team creates a workaround for this by adding module option *wrapGSSCredential=true* with additional setting *credentialLifetime=-1* \[2, 3, 4, 5\]. This works for static kerberos authentication.
> However, passthrough authentication (org.teiid.jboss.PassthroughIdentityLoginModule) does not work, because passed ticket is not managed by EAP but by client.
> \[1\] https://bugzilla.redhat.com/show_bug.cgi?id=1097276
> \[2\] https://bugzilla.redhat.com/show_bug.cgi?id=1097276#c58
> \[3\] https://issues.jboss.org/browse/SECURITY-905
> \[4\] https://issues.jboss.org/browse/JBEAP-843
> \[5\] https://github.com/wildfly-security/jboss-negotiation/commit/0c7e06f58a79...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4280) NPE in RuleMergeVirtual when running a query with nested CTEs
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4280?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4280:
----------------------------------
Fix Version/s: 8.12.5
This was needed by TEIID-4287, so was also pulled to 8.12.5.
> NPE in RuleMergeVirtual when running a query with nested CTEs
> -------------------------------------------------------------
>
> Key: TEIID-4280
> URL: https://issues.jboss.org/browse/TEIID-4280
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12
> Reporter: Salvatore R
> Assignee: Steven Hawkins
> Fix For: 9.1, 8.12.5, 8.13.6, 9.0.1
>
>
> I defined the following view, based on a table in PostgreSQL (pg.test_a):
> {code:sql}
> create view tv1 as
> WITH
> alias as (SELECT a from pg.test_a),
> alias2 as (select t2.a as a1, t1.a from alias t1 join (SELECT a from pg.test_a) t2 on t1.a=t2.a),
> alias3 as (select t2.a as a1, t1.a from alias t1 join alias2 t2 on t1.a=t2.a)
> SELECT alias3.a1 FROM alias2 join alias3 on alias3.a=alias2.a;
> {code}
> When I run this query:
> {code:sql}
> with
> CTE1 as (
> select a1 from (
> with CTE11 as (select a1 from views.tv1)
> select a1 from CTE11
> ) as SUBQ1),
> CTE2 as (
> select a1 from (
> with CTE21 as (select a1 from views.tv1)
> select a1 from CTE21
> ) as SUBQ2)
> select * from CTE1 as T1 join CTE2 as T2 on T1.a1=T2.a1
> {code}
> this exception is thrown:
> {code:sql}
> 16:36:34,749 ERROR [org.teiid.PROCESSOR] (Worker17_QueryProcessorQueue112) cMD3wCUrebvy TEIID30019 Unexpected exception for request cMD3wCUrebvy.34: java.lang.NullPointerException
> at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.doMerge(RuleMergeVirtual.java:218)
> at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.execute(RuleMergeVirtual.java:84)
> at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:870)
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:226)
> at org.teiid.query.optimizer.relational.RelationalPlanner.planWith(RelationalPlanner.java:361)
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:206)
> at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:159)
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:445)
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:473)
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:655)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:337)
> 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.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> The same error occurs using inline views too.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4287) An exception is thrown by PostgreSQL when nested CTEs are pushed down
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4287?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4287:
----------------------------------
Fix Version/s: 8.12.5
> An exception is thrown by PostgreSQL when nested CTEs are pushed down
> ---------------------------------------------------------------------
>
> Key: TEIID-4287
> URL: https://issues.jboss.org/browse/TEIID-4287
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Salvatore R
> Assignee: Steven Hawkins
> Fix For: 9.1, 8.12.5, 8.13.6, 9.0.1
>
>
> I defined the following views in my VDB, based on a table in PostgreSQL:
> {code:sql}
> create view tv0 as
> WITH
> cte1 as (SELECT 1 as a),
> alias2 as (select a from cte1),
> cte3 as (select a from alias2)
> SELECT cte3.a FROM alias2 join cte3 on cte3.a=alias2.a;
> create view tv1 as
> WITH
> cte1 as (SELECT a from pg.test_a),
> alias2 as (select a from cte1),
> cte3 as (select a from alias2)
> SELECT cte3.a FROM alias2 join cte3 on cte3.a=alias2.a;
> create view tv2 as
> WITH
> alias2 as (select b, a from pg.test_a),
> cte4 as (select a from alias2)
> SELECT cte4.a FROM cte4 join alias2 on cte4.a=alias2.a ;
> {code}
> The following query, based on views tv0 and tv1:
> {code:sql}
> with
> CTE1 as (
> select a from (
> with CTE11 as (select a from views.tv0)
> select a from CTE11
> ) as SUBQ1),
> CTE2 as (
> select a from (
> with CTE21 as (select a from views.tv1)
> select a from CTE21
> ) as SUBQ2)
> select * from CTE1 as T1 join CTE2 as T2 on T1.a=T2.a
> {code}
> throws this exception:
> {code:sql}
> 18:55:23,260 WARN [org.teiid.PROCESSOR] (Worker24_QueryProcessorQueue773) qPWXuJPW78go TEIID30020 Processing exception for request qPWXuJPW78go.3 'TEIID30504 test_tables_pg: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: WITH alias2__1 (a) AS (SELECT g_0."a" FROM "public"."test_a" AS g_0) SELECT g_1.a AS c_0 FROM alias2__1 AS g_0, alias2 AS g_1 WHERE g_1.a = g_0.a AND g_1.a = 1 ORDER BY c_0]'. Originally TeiidProcessingException 'ERROR: Relation "alias2" does not exist
> Position: 113' QueryExecutorImpl.java:2157. Enable more detailed logging to see the entire stacktrace.
> 19:00:13,379 WARN [org.teiid.CONNECTOR] (Worker28_QueryProcessorQueue775) qPWXuJPW78go Connector worker process failed for atomic-request=qPWXuJPW78go.4.7.144: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: WITH alias2__1 (a) AS (SELECT g_0."a" FROM "public"."test_a" AS g_0) SELECT g_1.a AS c_0 FROM alias2__1 AS g_0, alias2 AS g_1 WHERE g_1.a = g_0.a AND g_1.a = 1 ORDER BY c_0]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:365)
> at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy56.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.postgresql.util.PSQLException: ERROR: Relation "alias2" does not exist
> Position: 113
> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
> at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:504)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123)
> ... 17 more
> {code}
> A similar query based on view tv2, throws a different exception:
> {code:sql}
> with
> CTE1 as (
> select a from (
> with CTE11 as (select a from views.tv2)
> select a from CTE11
> ) as SUBQ1),
> CTE2 as (
> select a from (
> with CTE21 as (select a from views.tv2)
> select a from CTE21
> ) as SUBQ2)
> select * from CTE1 as T1 join CTE2 as T2 on T1.a=T2.a
> {code}
> {code:sql}
> 19:05:02,784 WARN [org.teiid.CONNECTOR] (Worker30_QueryProcessorQueue778) qPWXuJPW78go Connector worker process failed for atomic-request=qPWXuJPW78go.5.2.145: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: WITH alias2 (b, a) AS (SELECT NULL, g_0."a" FROM "public"."test_a" AS g_0), alias2__1 (a, b) AS (SELECT NULL, g_0."a" FROM "public"."test_a" AS g_0) SELECT g_2.a, g_0.a FROM alias2 AS g_0, alias2 AS g_1, alias2 AS g_2, alias2__1 AS g_3 WHERE g_2.a = g_3.a AND g_0.a = g_1.a AND g_0.a = g_2.a]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:365)
> at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy56.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.postgresql.util.PSQLException: ERROR: failed to find conversion function from unknown to integer
> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
> at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:504)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123)
> ... 17 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4280) NPE in RuleMergeVirtual when running a query with nested CTEs
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4280?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4280:
----------------------------------
Fix Version/s: 8.13.6
> NPE in RuleMergeVirtual when running a query with nested CTEs
> -------------------------------------------------------------
>
> Key: TEIID-4280
> URL: https://issues.jboss.org/browse/TEIID-4280
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12
> Reporter: Salvatore R
> Assignee: Steven Hawkins
> Fix For: 9.1, 8.13.6, 9.0.1
>
>
> I defined the following view, based on a table in PostgreSQL (pg.test_a):
> {code:sql}
> create view tv1 as
> WITH
> alias as (SELECT a from pg.test_a),
> alias2 as (select t2.a as a1, t1.a from alias t1 join (SELECT a from pg.test_a) t2 on t1.a=t2.a),
> alias3 as (select t2.a as a1, t1.a from alias t1 join alias2 t2 on t1.a=t2.a)
> SELECT alias3.a1 FROM alias2 join alias3 on alias3.a=alias2.a;
> {code}
> When I run this query:
> {code:sql}
> with
> CTE1 as (
> select a1 from (
> with CTE11 as (select a1 from views.tv1)
> select a1 from CTE11
> ) as SUBQ1),
> CTE2 as (
> select a1 from (
> with CTE21 as (select a1 from views.tv1)
> select a1 from CTE21
> ) as SUBQ2)
> select * from CTE1 as T1 join CTE2 as T2 on T1.a1=T2.a1
> {code}
> this exception is thrown:
> {code:sql}
> 16:36:34,749 ERROR [org.teiid.PROCESSOR] (Worker17_QueryProcessorQueue112) cMD3wCUrebvy TEIID30019 Unexpected exception for request cMD3wCUrebvy.34: java.lang.NullPointerException
> at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.doMerge(RuleMergeVirtual.java:218)
> at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.execute(RuleMergeVirtual.java:84)
> at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:870)
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:226)
> at org.teiid.query.optimizer.relational.RelationalPlanner.planWith(RelationalPlanner.java:361)
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:206)
> at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:159)
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:445)
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:473)
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:655)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:337)
> 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.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> The same error occurs using inline views too.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years
[JBoss JIRA] (TEIID-4090) Issue with entitysets/properties ending in auth or token
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-4090?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-4090.
---------------------------------
Resolution: Done
corrected the issue
> Issue with entitysets/properties ending in auth or token
> --------------------------------------------------------
>
> Key: TEIID-4090
> URL: https://issues.jboss.org/browse/TEIID-4090
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.12
> Reporter: Steven Hawkins
> Assignee: Ramesh Reddy
> Priority: Blocker
> Labels: Final
> Fix For: 8.12.5, 9.0
>
>
> To handle oauth, we are check for uri.endsWith("auth") || uri.endsWith("token") - however valid uris can end with those characters as well. An ioexception will be thrown instead of seeing the expected results - we also need to not simply throw an ioexception in ODataServlet as there is no server log of the exception and the client sees a 500 error.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years