[JBoss JIRA] (TEIID-2656) Teiid OData Servlet throws java.lang.NullPointerException on every GET
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-2656?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-2656:
------------------------------------------------
Van Halbert <vhalbert(a)redhat.com> changed the Status of [bug 1006961|https://bugzilla.redhat.com/show_bug.cgi?id=1006961] from ASSIGNED to MODIFIED
> Teiid OData Servlet throws java.lang.NullPointerException on every GET
> ----------------------------------------------------------------------
>
> Key: TEIID-2656
> URL: https://issues.jboss.org/browse/TEIID-2656
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.3, 8.4
> Environment: Windows 7 64 bit
> Oracle JDK 1.7.0 update 17
> JBoss AS 7.1.1 + Teiid 8.3 (both resteasy-jaxrs 2.3.5 and 2.3.7)
> JBoss EAP 6.1 + Teiid 8.4 (resteasy-jaxrs 2.3.6)
> Reporter: John Muller
> Assignee: Steven Hawkins
> Labels: final
> Fix For: 8.4.1, 8.5
>
> Attachments: server.log, Teiid_8.4_on_JBoss_EAP_6.1Alpha_RHEL6.log
>
>
> A simple GET on any Teiid 8.3 or 8.4 OData ReST resource results in a Null Pointer:
> 11:43:20,166 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/odata].[Resteasy]] (http-localhost-127.0.0.1-8080-2) Servlet.service() for servlet Resteasy threw exception: java.lang.NullPointerException
> at com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:447)
> at org.codehaus.stax2.ri.Stax2EventWriterImpl.add(Stax2EventWriterImpl.java:124)
> at org.odata4j.stax2.staximpl.StaxXMLWriter2.writeText(StaxXMLWriter2.java:108) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.odata4j.format.xml.AtomErrorFormatWriter.writeError(AtomErrorFormatWriter.java:31) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.odata4j.format.xml.AtomErrorFormatWriter.write(AtomErrorFormatWriter.java:20) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.odata4j.format.xml.AtomErrorFormatWriter.write(AtomErrorFormatWriter.java:15) [odata4j-core-0.8.0-SNAPSHOT-redhat.jar:]
> at org.teiid.odata.ODataExceptionMappingProvider.toResponse(ODataExceptionMappingProvider.java:55) [classes:]
> at org.teiid.odata.ODataExceptionMappingProvider.toResponse(ODataExceptionMappingProvider.java:42) [classes:]
> at org.jboss.resteasy.core.SynchronousDispatcher.executeExceptionMapper(SynchronousDispatcher.java:344) [resteasy-jaxrs-2.3.7.Final.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.unwrapException(SynchronousDispatcher.java:373) [resteasy-jaxrs-2.3.7.Final.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:362) [resteasy-jaxrs-2.3.7.Final.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:233) [resteasy-jaxrs-2.3.7.Final.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:209) [resteasy-jaxrs-2.3.7.Final.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:557) [resteasy-jaxrs-2.3.7.Final.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.7.Final.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.7.Final.jar:]
> at org.teiid.odata.ODataServletContainerDispatcher.service(ODataServletContainerDispatcher.java:97) [classes:]
> at org.teiid.odata.ODataServlet.service(ODataServlet.java:61) [classes:]
> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.7.Final.jar:]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489) [jbossweb-7.0.13.Final.jar:]
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
> at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_17]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] (TEIID-2660) OData procedure issues
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2660?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2660.
-----------------------------------
Resolution: Done
Committed to 8.5.x (will be pulled to master/8.6 shortly) and 8.4.x
> OData procedure issues
> ----------------------
>
> Key: TEIID-2660
> URL: https://issues.jboss.org/browse/TEIID-2660
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.3
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.4.1, 8.5
>
>
> Calling a procedure through Teiid's odata interface has several issues. First is that joda time values are passed directly - which the runtime will not be able to convert to analogous Teiid time types. Ultimately this appears as a classcastexception, which is due to logic in the joda time AbstractPartial.compareTo method (which may be reported with an erroneous message and seems odd in general, but is their way of saying the comparison is invalid).
> Another is that the logic assumes that the url will be called with the positional ordering of the parameters preserved. We should use named parameters instead.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] (TEIID-2660) OData procedure issues
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2660?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2660:
----------------------------------
Fix Version/s: 8.4.1
> OData procedure issues
> ----------------------
>
> Key: TEIID-2660
> URL: https://issues.jboss.org/browse/TEIID-2660
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.3
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.4.1, 8.5
>
>
> Calling a procedure through Teiid's odata interface has several issues. First is that joda time values are passed directly - which the runtime will not be able to convert to analogous Teiid time types. Ultimately this appears as a classcastexception, which is due to logic in the joda time AbstractPartial.compareTo method (which may be reported with an erroneous message and seems odd in general, but is their way of saying the comparison is invalid).
> Another is that the logic assumes that the url will be called with the positional ordering of the parameters preserved. We should use named parameters instead.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] (TEIID-2660) OData procedure issues
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2660?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2660:
---------------------------------------
> Yes, I am not sure why I did not choose named parameters, that was wrong.
The parser needed updated as we would have only supported named parameters without a return parameter. Now we should be good. This also allows for parameters to be omitted/defaultable.
> I can not say I understand negate one fully.
It looked to me like combining the negation with numerical constants was not needed - as long as the literal is entered without a space -2.0f for example it will be parsed as -2.0. Also the handling of the negation was only being done in the non prepared case. In the prepared case it was silently dropped (it's a little weird but if for example the user entered x=- 2 we'd treat that as x=? but not apply negation to the parameter value).
> OData procedure issues
> ----------------------
>
> Key: TEIID-2660
> URL: https://issues.jboss.org/browse/TEIID-2660
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.3
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.5
>
>
> Calling a procedure through Teiid's odata interface has several issues. First is that joda time values are passed directly - which the runtime will not be able to convert to analogous Teiid time types. Ultimately this appears as a classcastexception, which is due to logic in the joda time AbstractPartial.compareTo method (which may be reported with an erroneous message and seems odd in general, but is their way of saying the comparison is invalid).
> Another is that the logic assumes that the url will be called with the positional ordering of the parameters preserved. We should use named parameters instead.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] (TEIID-2660) OData procedure issues
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-2660?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-2660:
-------------------------------------
Looks good Steve. yes, it is better way to get to metadata store, that may improved along side during the 8.3 with embedded stuff, or I just did not think about it.
Yes, I am not sure why I did not choose named parameters, that was wrong. I can not say I understand negate one fully.
> OData procedure issues
> ----------------------
>
> Key: TEIID-2660
> URL: https://issues.jboss.org/browse/TEIID-2660
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.3
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.5
>
>
> Calling a procedure through Teiid's odata interface has several issues. First is that joda time values are passed directly - which the runtime will not be able to convert to analogous Teiid time types. Ultimately this appears as a classcastexception, which is due to logic in the joda time AbstractPartial.compareTo method (which may be reported with an erroneous message and seems odd in general, but is their way of saying the comparison is invalid).
> Another is that the logic assumes that the url will be called with the positional ordering of the parameters preserved. We should use named parameters instead.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] (TEIID-2660) OData procedure issues
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-2660?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated TEIID-2660:
-------------------------------------------
Bugzilla Update: Perform
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1006961
> OData procedure issues
> ----------------------
>
> Key: TEIID-2660
> URL: https://issues.jboss.org/browse/TEIID-2660
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.3
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.5
>
>
> Calling a procedure through Teiid's odata interface has several issues. First is that joda time values are passed directly - which the runtime will not be able to convert to analogous Teiid time types. Ultimately this appears as a classcastexception, which is due to logic in the joda time AbstractPartial.compareTo method (which may be reported with an erroneous message and seems odd in general, but is their way of saying the comparison is invalid).
> Another is that the logic assumes that the url will be called with the positional ordering of the parameters preserved. We should use named parameters instead.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] (TEIID-2657) ava.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-2657?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-2657:
------------------------------------------------
Van Halbert <vhalbert(a)redhat.com> changed the Status of [bug 1006033|https://bugzilla.redhat.com/show_bug.cgi?id=1006033] from NEW to MODIFIED
> ava.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
> ---------------------------------------------------------
>
> Key: TEIID-2657
> URL: https://issues.jboss.org/browse/TEIID-2657
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.4.1
> Reporter: Van Halbert
> Assignee: Van Halbert
>
> When attempting to query an XML text file in ER1 I am getting A java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext error:
> 14:03:13,829 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue2) TEIID30019 Unexpected exception for request Nob5JdZX4Frm.0: org.teiid.core.TeiidRuntimeException: org/jaxen/NamespaceContext
> at org.teiid.query.processor.relational.XMLTableNode$1.run(XMLTableNode.java:232) [teiid-engine-8.4.1-redhat-1.jar:8.4.1-redhat-1]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:269) [teiid-engine-8.4.1-redhat-1.jar:8.4.1-redhat-1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.4.1-redhat-1.jar:8.4.1-redhat-1]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214) [teiid-engine-8.4.1-redhat-1.jar:8.4.1-redhat-1]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0]
> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0]
> Caused by: java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
> at nu.xom.NodeFactory.startMakingDocument(Unknown Source) [xom-1.2.7-redhat-3.jar:1.2.7-redhat-3]
> at nux.xom.xquery.StreamingPathFilter$StreamingPathFilterNodeFactory.startMakingDocument(StreamingPathFilter.java:389) [nux-1.6.jar:1.6]
> at nu.xom.XOMHandler.startDocument(Unknown Source) [xom-1.2.7-redhat-3.jar:1.2.7-redhat-3]
> at net.sf.saxon.event.ContentHandlerProxy.open(ContentHandlerProxy.java:261) [saxonhe-9.2.1.5.jar:]
> at org.teiid.query.xquery.saxon.ContentHandlerProxyReceiver.open(StreamingUtils.java:265) [teiid-engine-8.4.1-redhat-1.jar:8.4.1-redhat-1]
> at net.sf.saxon.event.ProxyReceiver.open(ProxyReceiver.java:80) [saxonhe-9.2.1.5.jar:]
> at net.sf.saxon.event.ReceivingContentHandler.startDocument(ReceivingContentHandler.java:204) [saxonhe-9.2.1.5.jar:]
> at org.apache.xerces.parsers.AbstractSAXParser.startDocument(Unknown Source)
> at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source)
> at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source)
> at org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
> at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:397) [saxonhe-9.2.1.5.jar:]
> at net.sf.saxon.event.Sender.send(Sender.java:182) [saxonhe-9.2.1.5.jar:]
> at net.sf.saxon.Configuration.buildDocument(Configuration.java:3317) [saxonhe-9.2.1.5.jar:]
> at net.sf.saxon.Configuration.buildDocument(Configuration.java:3262) [saxonhe-9.2.1.5.jar:]
> at org.teiid.query.xquery.saxon.SaxonReader.parse(StreamingUtils.java:169) [teiid-engine-8.4.1-redhat-1.jar:8.4.1-redhat-1]
> at nu.xom.Builder.build(Unknown Source) [xom-1.2.7-redhat-3.jar:1.2.7-redhat-3]
> at nu.xom.Builder.build(Unknown Source) [xom-1.2.7-redhat-3.jar:1.2.7-redhat-3]
> at org.teiid.query.xquery.saxon.XQueryEvaluator.evaluateXQuery(XQueryEvaluator.java:134) [teiid-engine-8.4.1-redhat-1.jar:8.4.1-redhat-1]
> at org.teiid.query.processor.relational.XMLTableNode$1.run(XMLTableNode.java:226) [teiid-engine-8.4.1-redhat-1.jar:8.4.1-redhat-1]
> ... 6 more
> Caused by: java.lang.ClassNotFoundException: org.jaxen.NamespaceContext from [Module "org.jboss.teiid:main" from local module loader @4bce79b8 (finder: local module finder @609945e9 (roots: /home/wgibson/apps/DV6-ER1/PASS-FOUR/jboss-eap-6.1/modules,/home/wgibson/apps/DV6-ER1/PASS-FOUR/jboss-eap-6.1/modules/system/layers/ds,/home/wgibson/apps/DV6-ER1/PASS-FOUR/jboss-eap-6.1/modules/system/layers/base))]
> at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) [jboss-modules.jar:1.2.0.Final-redhat-1]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.0.Final-redhat-1]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.0.Final-redhat-1]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.0.Final-redhat-1]
> at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.0.Final-redhat-1]
> ... 31 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months
[JBoss JIRA] (TEIID-2660) OData procedure issues
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2660?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2660:
---------------------------------------
Ramesh have a look at the fix to see if it's ready for 8.4.1 (which includes a parser change to allow named parameters with escaped callable syntax). I expanded the changes a little to also simply the negateexpression handling (which seemed like it was not handled with prepared values) and changed the way we are getting at the metadatastore.
> OData procedure issues
> ----------------------
>
> Key: TEIID-2660
> URL: https://issues.jboss.org/browse/TEIID-2660
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.3
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.5
>
>
> Calling a procedure through Teiid's odata interface has several issues. First is that joda time values are passed directly - which the runtime will not be able to convert to analogous Teiid time types. Ultimately this appears as a classcastexception, which is due to logic in the joda time AbstractPartial.compareTo method (which may be reported with an erroneous message and seems odd in general, but is their way of saying the comparison is invalid).
> Another is that the logic assumes that the url will be called with the positional ordering of the parameters preserved. We should use named parameters instead.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 6 months