Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-4860

OData4 swallowing exception message

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 10.0
    • 8.12.6.6_3
    • OData
    • None
    • Hide

      1 - Create a table with a composite primary key
      2 - Access the table via odata2 interface (localhost:8080/odata/<VDB>/<Schema>.<Table>
      3 - Access the table via odata4 interface (localhost:8080/odata4/<VDB>/<Schema>/<Table>
      4 - Compare error messages - notice odata version 2 interface is much more helpful

      Show
      1 - Create a table with a composite primary key 2 - Access the table via odata2 interface (localhost:8080/odata/<VDB>/<Schema>.<Table> 3 - Access the table via odata4 interface (localhost:8080/odata4/<VDB>/<Schema>/<Table> 4 - Compare error messages - notice odata version 2 interface is much more helpful

    Description

      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

      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
      

      And here's the stack trace when reproduced from the OData 2 interface.

      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.
      

      Attachments

        Activity

          People

            rhn-support-jolee Johnathon Lee
            stran@redhat.com Steve Tran
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: