]
Steven Hawkins reassigned TEIID-4860:
-------------------------------------
Fix Version/s: 9.3
Assignee: Ramesh Reddy (was: Steven Hawkins)
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: Ramesh Reddy
Fix For: 9.3
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}