6 Replies Latest reply on Oct 24, 2014 10:25 AM by Ramesh Reddy

    OData - Versions

    Lunen De Lange Newbie

      Hi guys,


      We have an OData connection. (Version 3 and 4)  In the Teiid documentation it states that only some of the OData v3 connections currently work. Unfortunately our OData v3 does not work. We are getting the following error:

      16:16:12,755 WARN  [org.teiid.RUNTIME] (teiid-async-threads - 1)  TEIID50036 VDB importVDB.1 model "importVDBSrcModel" metadata failed to load. Reason:Unknown ODataVersion 3.0: java.lang.IllegalArgumentException: Unknown ODataVersion 3.0
      at org.odata4j.core.ODataVersion.parse(ODataVersion.java:33)
      at org.odata4j.format.xml.EdmxFormatParser.parseMetadata(EdmxFormatParser.java:74)
      at org.teiid.translator.odata.ODataMetadataProcessor.getEds(ODataMetadataProcessor.java:83)
      at org.teiid.translator.odata.ODataMetadataProcessor.process(ODataMetadataProcessor.java:91)
      at org.teiid.translator.odata.ODataExecutionFactory.getMetadata(ODataExecutionFactory.java:112)
      at org.teiid.translator.odata.ODataExecutionFactory.getMetadata(ODataExecutionFactory.java:53)
      at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:73) [teiid-engine-8.7.0.Final.jar:8.7.0.Final]
      at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55) [teiid-engine-8.7.0.Final.jar:8.7.0.Final]
      at org.teiid.jboss.VDBService$6.run(VDBService.java:395) [teiid-jboss-integration-8.7.0.Final.jar:8.7.0.Final]
      at org.teiid.jboss.VDBService$7.run(VDBService.java:442) [teiid-jboss-integration-8.7.0.Final.jar:8.7.0.Final]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_67]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_67]
      at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
      at org.jboss.threads.JBossThread.run(JBossThread.java:122)

      I'm aware that the offical supported version is OData v2. To downgrade our connection will take major in house development and will take us a couple of weeks.(at least)

      Will the OData v3/v4 be supported in the next Teiid Designer version? And when do you guys envision it to be released? 


        • 1. Re: OData - Versions
          Steven Hawkins Master

          This is more of a server issue, than Designer.  Teiid 8.9 will introduce OData 4 production support, but unfortunately the translator will still be at v2.  There should be updated support in Teiid 8.10.  Given that Odata4j (the library that Teiid is using for OData consumption) has a hard-coded limitation here this would probably be difficult for us to workaround.

          • 2. Re: OData - Versions
            Ramesh Reddy Master

            To be more specific tech preview of OData 4 support is coming in Teiid 8.9 based on Apache Olingo project. This is currently only on the producing Teiid data as OData service. As per consuming OData 4 as source will hopefully make it into Teiid 8.10. Also there will NOT be support for OData 3, we are skipping that support altogether.



            • 3. Re: OData - Versions
              Steven Hawkins Master

              Would skipping 3 be true for the consumption side?

              • 4. Re: OData - Versions
                Lunen De Lange Newbie

                Thanks guys. We already have a fully working v4 available.  So if I understand Steven correctly. The problem lies with the JBoss server(engine) that still uses v2..?

                • 5. Re: OData - Versions
                  Ramesh Reddy Master

                  That is debatable argument. But I have not seen any strong indication that Olingo project made any strong efforts to support it. Granted it is consumption side, Teiid still need to understand the $metadata and request ad response formats which would be time consuming to implement given the general lack of interest on this version of the spec. I believe only M$ specific services are designed so far on this version, so we would be alienating few users, but general consensuses in seems to be  V2 and V4 are the stable versions.

                  • 6. Re: OData - Versions
                    Ramesh Reddy Master

                    Yes. The translator for OData was designed to understand V2 of the spec. Support for V4 is definitely coming, but we are not there yet. If you want help contribute that feature would be welcome.