[
https://issues.jboss.org/browse/TEIID-4860?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-4860:
---------------------------------------
The root exception has been fixed, but it's still a 500 error - it occurs whether the
key is composite or not due to an NPE in EntityResponse.buildLocation. Since null is not
allowed by the ParserHelper.keyValuePair, it seems expected that key values cannot be
null.
Seems like we'll need to filter for this case and throw a better exception.
OData4 swallowing exception message
-----------------------------------
Key: TEIID-4860
URL:
https://issues.jboss.org/browse/TEIID-4860
Project: Teiid
Issue Type: Bug
Components: OData
Affects Versions: 8.12.6.6_3
Environment: JDV 6.3.2
Windows 7
Reporter: Steve Tran
Assignee: Steven Hawkins
Attachments: odata2_error_msg.png, odata4_error_msg.png
The error message is being swallowed when accessing an endpoint via OData4. A much more
useful message get displayed when accessing the same table via the OData2 interface.
I'm assuming the same error message (or better) should be displayed via the version 4
interface.
Here's the stacktrace when reproducing the error for OData4
{code}
17:59:03,779 ERROR [org.teiid.ODATA] (http-0.0.0.0:8080-2) TEIID16052 Unable to process
odata request due to: OData Library: An exception without message text was thrown.:
org.apache.olingo.server.api.ODataApplicationException
at org.teiid.olingo.service.TeiidServiceHandler.read(TeiidServiceHandler.java:174)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
at
org.apache.olingo.server.core.requests.DataRequest$EntityRequest.execute(DataRequest.java:332)
at org.apache.olingo.server.core.requests.DataRequest.execute(DataRequest.java:255)
at
org.apache.olingo.server.core.ServiceDispatcher.internalExecute(ServiceDispatcher.java:160)
at org.apache.olingo.server.core.ServiceDispatcher.execute(ServiceDispatcher.java:98)
at org.apache.olingo.server.core.OData4HttpHandler.process(OData4HttpHandler.java:66)
at org.teiid.olingo.web.ODataServlet.service(ODataServlet.java:43)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
[jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at org.teiid.olingo.web.ODataFilter.internalDoFilter(ODataFilter.java:231)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
at org.teiid.olingo.web.ODataFilter.doFilter(ODataFilter.java:100)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at org.teiid.olingo.web.CorsFilter.doFilter(CorsFilter.java:80)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
[jboss-as-web-7.5.9.Final-redhat-2.jar:7.5.9.Final-redhat-2]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
[jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121]
Caused by: java.lang.NullPointerException
at
org.teiid.olingo.service.EntityCollectionResponse.isSameRow(EntityCollectionResponse.java:180)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
at
org.teiid.olingo.service.EntityCollectionResponse.isSameEntity(EntityCollectionResponse.java:154)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
at org.teiid.olingo.service.LocalClient.executeSQL(LocalClient.java:280)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
at
org.teiid.olingo.service.TeiidServiceHandler.executeQuery(TeiidServiceHandler.java:349)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
at org.teiid.olingo.service.TeiidServiceHandler.read(TeiidServiceHandler.java:172)
[teiid-olingo-8.12.7.6_3-redhat-1.jar:8.12.7.6_3-redhat-1]
... 28 more
{code}
And here's the stack trace when reproduced from the OData 2 interface.
{code}
18:01:20,885 WARN [org.teiid.ODATA] (http-0.0.0.0:8080-2) TEIID16012 Could not produce a
successful OData response. Returning status ServerErrorException with message Complex key
values cannot be null.
{code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)