[teiid-issues] [JBoss JIRA] (TEIID-3663) ST_Transform only works in tests

Steven Hawkins (JIRA) issues at jboss.org
Fri Aug 28 15:54:05 EDT 2015


     [ https://issues.jboss.org/browse/TEIID-3663?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steven Hawkins resolved TEIID-3663.
-----------------------------------
    Fix Version/s: 8.12
                   8.11.3
       Resolution: Done


There are two issues here.  The first is the regression, which was corrected with a new method to get the subject name from a context.  The next issue is that this was only working for local connections.  On remote connections our check of the session could fail as it was against the local transport rather than the originating transport.  The fix here was to instead use a closed flag on the session rather than checking with the session service.  

We will likely want to consider moving back to a single session service in Teiid 9 as most of the constraints will be specified on a vdb basis and not on a transport basis.

> ST_Transform only works in tests
> --------------------------------
>
>                 Key: TEIID-3663
>                 URL: https://issues.jboss.org/browse/TEIID-3663
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: 8.12
>            Reporter: Tom Arnold
>            Assignee: Steven Hawkins
>             Fix For: 8.12, 8.11.3
>
>
> From one of the tests; this fails against an actual server (JBoss kit).
> {code}
> select st_transform(st_geomfromtext('POINT(-118 34)',4326),3310);
> {code}
> {code}
> ERROR:  TEIID30328 Unable to evaluate st_transform(?, 3310): TEIID30384 Error while evaluating function st_transform
> DETAIL:  org.teiid.jdbc.TeiidSQLException: TEIID30328 Unable to evaluate st_transform(?, 3310): TEIID30384 Error while evaluating function st_transform
> {code}
> {code}
> 00:02:59,143 INFO  [org.teiid.SECURITY] (Worker2_QueryProcessorQueue6) tF6aPUsmLmU/ TEIID40115 Local pass-through connection implicitly closing session tF6aPUsmLmU/ so that the connection can be used in a different security context.
> 00:02:59,144 WARN  [org.teiid.PROCESSOR] (Worker2_QueryProcessorQueue6) tF6aPUsmLmU/ TEIID30020 Processing exception for request tF6aPUsmLmU/.4 'TEIID30328 Unable to evaluate st_transform(?, 3310): TEIID30384 Error while evaluating function st_transform'. Originally ExpressionEvaluationException 'Expected argument to be non-null but got null' ArgCheck.java:303.: org.teiid.api.exception.query.ExpressionEvaluationException: TEIID30328 Unable to evaluate st_transform(?, 3310): TEIID30384 Error while evaluating function st_transform
> 	at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:631) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.rewriter.QueryRewriter.evaluate(QueryRewriter.java:2122) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.rewriter.QueryRewriter.rewriteExpressionDirect(QueryRewriter.java:2112) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.rewriter.QueryRewriter.access$000(QueryRewriter.java:101) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.rewriter.QueryRewriter$3.replaceExpression(QueryRewriter.java:626) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.visitor.ExpressionMappingVisitor.visit(ExpressionMappingVisitor.java:162) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.symbol.ExpressionSymbol.acceptVisitor(ExpressionSymbol.java:63) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.navigator.AbstractNavigator.visitVisitor(AbstractNavigator.java:54) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.postVisitVisitor(PreOrPostOrderNavigator.java:61) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.visit(PreOrPostOrderNavigator.java:183) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.symbol.ExpressionSymbol.acceptVisitor(ExpressionSymbol.java:63) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.navigator.AbstractNavigator.visitNode(AbstractNavigator.java:63) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.navigator.AbstractNavigator.visitNodes(AbstractNavigator.java:76) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.visit(PreOrPostOrderNavigator.java:342) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.lang.Select.acceptVisitor(Select.java:168) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.sql.navigator.PostOrderNavigator.doVisit(PostOrderNavigator.java:40) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.rewriter.QueryRewriter.rewriteExpressions(QueryRewriter.java:633) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.rewriter.QueryRewriter.rewriteQuery(QueryRewriter.java:471) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.rewriter.QueryRewriter.rewriteCommand(QueryRewriter.java:222) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.rewriter.QueryRewriter.rewrite(QueryRewriter.java:167) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.rewriter.QueryRewriter.rewrite(QueryRewriter.java:171) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:413) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.Request.processRequest(Request.java:461) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:632) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:333) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:271) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_79]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_79]
> 	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_79]
> Caused by: org.teiid.api.exception.query.FunctionExecutionException: TEIID30384 Error while evaluating function st_transform
> 	at org.teiid.query.function.FunctionDescriptor.invokeFunction(FunctionDescriptor.java:295) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:1320) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:659) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:629) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	... 32 more
> Caused by: org.teiid.api.exception.query.FunctionExecutionException: 38000 TEIID31163 Failed to lookup proj4 text.
> 	at org.teiid.query.function.GeometryTransformUtils.lookupProj4Text(GeometryTransformUtils.java:109) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.function.GeometryTransformUtils.transform(GeometryTransformUtils.java:78) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.function.GeometryTransformUtils.transform(GeometryTransformUtils.java:64) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.function.GeometryFunctionMethods.transform(GeometryFunctionMethods.java:253) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_79]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_79]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_79]
> 	at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_79]
> 	at org.teiid.query.function.FunctionDescriptor.invokeFunction(FunctionDescriptor.java:281) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	... 35 more
> Caused by: org.teiid.jdbc.TeiidSQLException: Expected argument to be non-null but got null
> 	at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135) [teiid-client-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71) [teiid-client-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:671) [teiid-client-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:535) [teiid-client-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.jdbc.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:261) [teiid-client-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.jdbc.PreparedStatementImpl.executeQuery(PreparedStatementImpl.java:73) [teiid-client-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.query.function.GeometryTransformUtils.lookupProj4Text(GeometryTransformUtils.java:103) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	... 43 more
> Caused by: org.teiid.core.TeiidComponentException: Expected argument to be non-null but got null
> 	at org.teiid.client.util.ExceptionUtil.convertException(ExceptionUtil.java:65) [teiid-client-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:186) [teiid-runtime-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at com.sun.proxy.$Proxy18.executeRequest(Unknown Source)
> 	at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:669) [teiid-client-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	... 47 more
> Caused by: java.lang.IllegalArgumentException: Expected argument to be non-null but got null
> 	at org.teiid.core.util.ArgCheck.isNotNull(ArgCheck.java:303) [teiid-common-core-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.core.util.ArgCheck.isNotNull(ArgCheck.java:289) [teiid-common-core-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.services.SessionServiceImpl.createSession(SessionServiceImpl.java:150) [teiid-runtime-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.transport.LogonImpl.logon(LogonImpl.java:137) [teiid-runtime-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.transport.LogonImpl.logon(LogonImpl.java:121) [teiid-runtime-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_79]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_79]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_79]
> 	at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_79]
> 	at org.teiid.transport.LocalServerConnection$1$1.call(LocalServerConnection.java:180) [teiid-runtime-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_79]
> 	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:260) [teiid-engine-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:178) [teiid-runtime-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at com.sun.proxy.$Proxy48.logon(Unknown Source)
> 	at org.teiid.transport.LocalServerConnection.authenticate(LocalServerConnection.java:142) [teiid-runtime-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:174) [teiid-runtime-8.12.0.Beta2-SNAPSHOT.jar:8.12.0.Beta2-SNAPSHOT]
> 	... 49 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the teiid-issues mailing list