9 Replies Latest reply on Mar 1, 2019 10:54 AM by ians-ihsmarkit-dev

    Timeout - Generating Source Model from Denodo OData

    ians-ihsmarkit-dev

      Hi There,

      I'm a Teiid newbie and I'm currently trying to generate a source model from a Denodo OData service.

       

      I am using the OData profile type when creating the connection profile.

       

       

      Unfortunately I am receiving the following error message when I try to import it ...

       

          VDB DEPLOYMENT ERRORS:

          javax.ws.rs.client.ClientException: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:9090/denodo-odata4-service/denodo-odata.svc/irapplm/$metadata: Read timed out

          Error deploying "importVDB" - please check the server log for more details.

          The deployment timeout can be increased on the previous page (Advanced tab), or check the server log for other errors. 

       

      I have set the 'Advanced tab' setting to have a 0 (no timeout) setting (as per the message) .. but it still times out between1 minute to 1 minute 15 seconds each time I try to do the import.

       

      Is there anywhere else I should be setting timeouts in regards to this ?

       

       

      Note: I have also tried setting the 'Request Timeout' in the Data Source Properties .. but if I do this and try to save the changes it completely kills the deployed data source

      And I then get this error ..

       

      And the Data source is no longer there ..

       

       

      Then I am unable to use the same data source name to recreate the data source .. as I get this error message

       

      Any ideas ?

       

      I am using:

        JBoss Developer Studio - Version 11.3.0.GA

        JBoss Data Virtualization - Version 6.4.0.18

        Teiid - Version 8.12.11

        JDK - Version 1.8.0.191

       

      Thanks

      Ian S.

        • 1. Re: Timeout - Generating Source Model from Denodo OData
          rareddy

          Ian,

           

          The timeout value you are setting is for total time that Import process waits during the import but I do not think it does covers to extend the http's call to Denano. What happens when you directly call

           

          http://localhost:9090/denodo-odata4-service/denodo-odata.svc/irapplm/$metadata:

           

          On a browser, do you get data in timely fashion? There are ways on Server side to increase these but it takes manual creation of data source for Denado and some cxf configuration.


          Ramesh..

          • 2. Re: Timeout - Generating Source Model from Denodo OData
            ians-ihsmarkit-dev

            Hi Ramesh,

             

            When running that call directly in a browser it takes roughly 3 - 3 1/2 minutes to return the response and it works fine. I also tried the retrieval in Postman and that also works fine!

             

             

            Also from what we can see from the Denodo log file it is the client (Dev Studio) that is killing the connection.

             

             

            I also tried using JBoss Dev Studio (Version 12.9) and get the same issues, response is not waited for until completion and the saving of the Data Source Properties fails and corrupts/kills the data source

             

             

            Note: We have tried using an older version of the JBoss Dev Studio (Version 10.4.0) / Teiid Server (8.12.5) and that is able to wait for the response with no issue and it also allows us to change the Data Source Properties and then save the data source successfully.

             

            Any other ideas ?

             

            Thanks

            Ian S.

            • 3. Re: Timeout - Generating Source Model from Denodo OData
              rareddy

              Can you check if there is an exception on the Server ? Look in "server.log". I am trying to decide is the server connection to denado odata got timed out or Designer killed the connection because it did not receive the response in time?

              • 4. Re: Timeout - Generating Source Model from Denodo OData
                ians-ihsmarkit-dev

                HI Ramesh,

                 

                This is what is in the log file ...

                Note: I was watching the log file in the command window the error appeared in the log file before it popped up in dev studio

                 

                10:32:07,267 INFO  [org.jboss.as.repository] (management-handler-thread - 2) JBAS014900: Content added at location c:\dv_quickstart-3.0.0-dist\dv_server\standalone\data\content\d6\6e2fbb706a3e37e2c69b505f81b4531c9a8eb9\content

                10:32:07,298 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015876: Starting deployment of "importVDB-vdb.xml" (runtime-name: "importVDB-vdb.xml")

                10:32:07,392 ERROR [stderr] (MSC service thread 1-4) ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider com.sun.script.javascript.RhinoScriptEngineFactory not found

                 

                10:32:07,470 INFO  [org.teiid.RUNTIME.VDBLifeCycleListener] (MSC service thread 1-1) TEIID40118 VDB importVDB.1 added to the repository

                10:32:07,486 INFO  [org.teiid.RUNTIME] (MSC service thread 1-1) TEIID50029 VDB importVDB.1 model "importVDBSrcModel" metadata is currently being loaded. Start Time: 2/28/19 10:32 AM

                10:32:07,720 INFO  [org.jboss.as.server] (management-handler-thread - 2) JBAS015859: Deployed "importVDB-vdb.xml" (runtime-name : "importVDB-vdb.xml")

                10:33:11,298 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (teiid-async-threads - 2) Interceptor for {http://localhost:9090/denodo-odata4-service/denodo-odata.svc/irapplm/$metadata}WebClient has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Could not send Message.

                    at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)

                    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)

                    at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:642)

                    at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1067)

                    at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:878)

                    at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:852)

                    at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:312)

                    at org.teiid.resource.adapter.ws.WSConnectionImpl$HttpDispatch.invoke(WSConnectionImpl.java:204)

                    at org.teiid.resource.adapter.ws.WSConnectionImpl$HttpDispatch.invoke(WSConnectionImpl.java:123)

                    at org.teiid.translator.ws.BinaryWSProcedureExecution.execute(BinaryWSProcedureExecution.java:156) [translator-ws-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.translator.odata4.BaseQueryExecution.invokeHTTP(BaseQueryExecution.java:170) [translator-odata4-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.translator.odata4.ODataExecutionFactory.getSchema(ODataExecutionFactory.java:132) [translator-odata4-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.translator.odata4.ODataMetadataProcessor.getSchema(ODataMetadataProcessor.java:110) [translator-odata4-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.translator.odata4.ODataMetadataProcessor.process(ODataMetadataProcessor.java:104) [translator-odata4-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.translator.odata4.ODataExecutionFactory.getMetadata(ODataExecutionFactory.java:119) [translator-odata4-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.translator.odata4.ODataExecutionFactory.getMetadata(ODataExecutionFactory.java:69) [translator-odata4-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)

                    at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)

                    at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)

                    at org.teiid.jboss.VDBService$6.run(VDBService.java:395)

                    at org.teiid.jboss.VDBService$7.run(VDBService.java:446)

                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_191]

                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_191]

                    at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_191]

                    at org.jboss.threads.JBossThread.run(JBossThread.java:122)

                Caused by: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:9090/denodo-odata4-service/denodo-odata.svc/irapplm/$metadata: Read timed out

                    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.8.0_191]

                    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [rt.jar:1.8.0_191]

                    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.8.0_191]

                    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [rt.jar:1.8.0_191]

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1346)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1330)

                    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)

                    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632)

                    at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)

                    ... 24 more

                Caused by: java.net.SocketTimeoutException: Read timed out

                    at java.net.SocketInputStream.socketRead0(Native Method) [rt.jar:1.8.0_191]

                    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) [rt.jar:1.8.0_191]

                    at java.net.SocketInputStream.read(SocketInputStream.java:171) [rt.jar:1.8.0_191]

                    at java.net.SocketInputStream.read(SocketInputStream.java:141) [rt.jar:1.8.0_191]

                    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) [rt.jar:1.8.0_191]

                    at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) [rt.jar:1.8.0_191]

                    at java.io.BufferedInputStream.read(BufferedInputStream.java:345) [rt.jar:1.8.0_191]

                    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) [rt.jar:1.8.0_191]

                    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) [rt.jar:1.8.0_191]

                    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) [rt.jar:1.8.0_191]

                    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) [rt.jar:1.8.0_191]

                    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) [rt.jar:1.8.0_191]

                    at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:266)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1550)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1579)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1520)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1317)

                    ... 27 more

                 

                10:33:11,392 WARN  [org.teiid.RUNTIME] (teiid-async-threads - 2) TEIID50036 VDB importVDB.1 model "importVDBSrcModel" metadata failed to load. Reason:javax.ws.rs.client.ClientException: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:9090/denodo-odata4-service/denodo-odata.svc/irapplm/$metadata: Read timed out: org.teiid.translator.TranslatorException: javax.ws.rs.client.ClientException: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:9090/denodo-odata4-service/denodo-odata.svc/irapplm/$metadata: Read timed out

                    at org.teiid.translator.odata4.ODataExecutionFactory.getSchema(ODataExecutionFactory.java:145)

                    at org.teiid.translator.odata4.ODataMetadataProcessor.getSchema(ODataMetadataProcessor.java:110)

                    at org.teiid.translator.odata4.ODataMetadataProcessor.process(ODataMetadataProcessor.java:104)

                    at org.teiid.translator.odata4.ODataExecutionFactory.getMetadata(ODataExecutionFactory.java:119)

                    at org.teiid.translator.odata4.ODataExecutionFactory.getMetadata(ODataExecutionFactory.java:69)

                    at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55) [teiid-engine-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.jboss.VDBService$6.run(VDBService.java:395) [teiid-jboss-integration-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at org.teiid.jboss.VDBService$7.run(VDBService.java:446) [teiid-jboss-integration-8.12.11.6_4-redhat-64-12.jar:8.12.11.6_4-redhat-64-12]

                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_191]

                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_191]

                    at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_191]

                    at org.jboss.threads.JBossThread.run(JBossThread.java:122)

                Caused by: javax.ws.rs.client.ClientException: javax.ws.rs.client.ClientException: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:9090/denodo-odata4-service/denodo-odata.svc/irapplm/$metadata: Read timed out

                    at org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:1116)

                    at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1068)

                    at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:878)

                    at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:852)

                    at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:312)

                    at org.teiid.resource.adapter.ws.WSConnectionImpl$HttpDispatch.invoke(WSConnectionImpl.java:204)

                    at org.teiid.resource.adapter.ws.WSConnectionImpl$HttpDispatch.invoke(WSConnectionImpl.java:123)

                    at org.teiid.translator.ws.BinaryWSProcedureExecution.execute(BinaryWSProcedureExecution.java:156)

                    at org.teiid.translator.odata4.BaseQueryExecution.invokeHTTP(BaseQueryExecution.java:170)

                    at org.teiid.translator.odata4.ODataExecutionFactory.getSchema(ODataExecutionFactory.java:132)

                    ... 13 more

                Caused by: javax.ws.rs.client.ClientException: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:9090/denodo-odata4-service/denodo-odata.svc/irapplm/$metadata: Read timed out

                    at org.apache.cxf.jaxrs.client.AbstractClient.checkClientException(AbstractClient.java:583)

                    at org.apache.cxf.jaxrs.client.AbstractClient.preProcessResult(AbstractClient.java:565)

                    at org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:1111)

                    ... 22 more

                Caused by: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:9090/denodo-odata4-service/denodo-odata.svc/irapplm/$metadata: Read timed out

                    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.8.0_191]

                    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [rt.jar:1.8.0_191]

                    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.8.0_191]

                    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [rt.jar:1.8.0_191]

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1346)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1330)

                    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)

                    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632)

                    at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)

                    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)

                    at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:642)

                    at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1067)

                    ... 21 more

                Caused by: java.net.SocketTimeoutException: Read timed out

                    at java.net.SocketInputStream.socketRead0(Native Method) [rt.jar:1.8.0_191]

                    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) [rt.jar:1.8.0_191]

                    at java.net.SocketInputStream.read(SocketInputStream.java:171) [rt.jar:1.8.0_191]

                    at java.net.SocketInputStream.read(SocketInputStream.java:141) [rt.jar:1.8.0_191]

                    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) [rt.jar:1.8.0_191]

                    at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) [rt.jar:1.8.0_191]

                    at java.io.BufferedInputStream.read(BufferedInputStream.java:345) [rt.jar:1.8.0_191]

                    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) [rt.jar:1.8.0_191]

                    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) [rt.jar:1.8.0_191]

                    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) [rt.jar:1.8.0_191]

                    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) [rt.jar:1.8.0_191]

                    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) [rt.jar:1.8.0_191]

                    at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:266)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1550)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1579)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1520)

                    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1317)

                    ... 27 more

                 

                 

                 

                Also here is what the error message looks like in the GUI

                 

                 

                 

                Thanks

                • 5. Re: Timeout - Generating Source Model from Denodo OData
                  ians-ihsmarkit-dev

                  Hi Ramesh,

                   

                  The issue is related to the Data Source - Request Timeout ...

                   

                  I used JBoss Dev Studio 10.4 to create a data source with and without that Request Timeout setting and for the one where that setting was set it worked. I then used the same created data source in JBoss Dev Studio 12.9 and the import also worked (note .. I still have to set the 'Advanced - Deployment Timeout' too)

                   

                  Unfortunately you have to set that setting when you create the data source ... if you try and go back to set it you get the same error you get in JDS 10.4, 11.3 and 12.9 (and kills the data source)

                   

                   

                   

                  What I am also finding only the data source I create in JDS 10.4 (with request timeout) will work ... if I try to follow the same steps in JDS 12.9 to create the data source (I can set the request timeout on initial creation) but the import fails for a different reason

                   

                  Thanks

                  Ian S.

                  • 6. Re: Timeout - Generating Source Model from Denodo OData
                    rareddy

                    There must be some refresh issue of data configuration in the Designer if you tried to set after the connection. Another option is to directly create the data source in the server by editing the standlone.xml file or using CLI. Then use that data source in the Designer, however, you still need to set the deployment timeout irrespective of it. You can log issue against Designer.

                     

                    What is other import failing issue?

                     

                    [1] Web Service Data Sources · GitBook

                    • 7. Re: Timeout - Generating Source Model from Denodo OData
                      ians-ihsmarkit-dev

                      Hi Ramesh,

                       

                      I carefully manually created the data source again within JDS 12.9 making sure to only set the values once and then save the connection and the import worked .. so I assume the other issue again is related to 'changing' the data source settings.

                       

                      Looking in the standalone.xml .. the relevant setting appears to be there when it works.

                       

                       

                      And it looks like you have to completely restart the JDV server to get JDS to pick up the manual amendments you make to the data sources in standalone.xml.

                       

                      Thanks

                      Ian S.

                      • 8. Re: Timeout - Generating Source Model from Denodo OData
                        rareddy

                        As I mentioned there is a CLI way of doing the same that would not require you to restart, but you can not reuse same name if you do not want restart due to an age-old issue with Wildfly resource adaptors thus probably why Designer is not working.

                        • 9. Re: Timeout - Generating Source Model from Denodo OData
                          ians-ihsmarkit-dev

                          Maybe that is where the issue lies ... the reusing of the same data source name when you try to save the data source settings ?

                           

                          I have my workaround now so thanks for all your help

                           

                          Ian S.