[JBoss JIRA] (TEIID-5372) Enhance docker support
by Rafal Korytkowski (JIRA)
[ https://issues.jboss.org/browse/TEIID-5372?page=com.atlassian.jira.plugin... ]
Rafal Korytkowski edited comment on TEIID-5372 at 6/22/18 9:33 AM:
-------------------------------------------------------------------
I looked at "thorntail-teiid-examples" and one of them "vdb-datafederation" is actually showcasing OpenShift as one of deployment scenarios. We have a lot of good tutorials, but somehow I do not find them unless you point me to them :) I think what we need is to create a page summarizing possible teiid deployments (or maybe there's one?) including wildfly, wildfly with docker, thorntail and openshift. It should be linked from the teiid/REAMDE.md and be part of Teiid documentation. It doesn't make sense to me to duplicate examples using different deployment scenarios. The least I'd do is to point to a document with other deployment options and, depending on how much work it is, use one deployment option e.g. thorntail across as many examples as possible.
When using Thorntail, the Docker image you create is never a base one, rather a targeted one for your specific purpose with selected data source drivers, teiid translators, vdbs. It uses maven as a build tool to produce a customized version of Teiid. It's definitely the way forward for microservices.
I still think there's a value of supporting a standalone Teiid on Wildfly as a base image. It's an interesting option for building a Teiid instance purely with Docker as a build tool. It also allows to quickly evaluate Teiid giving an ability to start it with just one docker command. No Java tooling and experience needed. Similarly it can be handy for development purposes when working on Teiid core. However, we would need a proper HOWTO. I found https://developer.jboss.org/wiki/QuickstartExampleWithDockerizedTeiid, but I don't think it does things in the easiest way (it's 3 years old now and things got improved). JBoss images I checked are all based on jboss/base (CentOS), which seems to be preferred so I'd stick to that and would not introduce Alpine at this point.
was (Author: rkorytkowski):
I looked at "thorntail-teiid-examples" and one of them "vdb-datafederation" is actually showcasing OpenShift as one of deployment scenarios. We have a lot of good tutorials, but somehow I do not find them unless you point me to them :) I think what we need is to create a page summarizing possible teiid deployments (or maybe there's one?) including wildfly, wildfly with docker, thorntail and openshift. It should be linked from the teiid/REAMDE.md and be part of Teiid documentation. It doesn't make sense to me to duplicate examples using different deployment scenarios. The least I'd do is to point to a document with other deployment options and depending on how much work it is use one deployment option e.g. thorntail across as many examples as possible.
When using Thorntail, the Docker image you create is never a base one, rather a targeted one for your specific purpose with selected data source drivers, teiid translators, vdbs. It uses maven as a build tool to produce a customized version of Teiid. It's definitely the way forward for microservices.
I still think there's a value of supporting a standalone Teiid on Wildfly as a base image. It's an interesting option for building a Teiid instance purely with Docker as a build tool. It also allows to quickly evaluate Teiid giving an ability to start it with just one docker command. No Java tooling and experience needed. Similarly it can be handy for development purposes when working on Teiid core. However, we would need a proper HOWTO. I found https://developer.jboss.org/wiki/QuickstartExampleWithDockerizedTeiid, but I don't think it does things in the easiest way (it's 3 years old now and things got improved). JBoss images I checked are all based on jboss/base (CentOS), which seems to be preferred so I'd stick to that and would not introduce Alpine at this point.
> Enhance docker support
> ----------------------
>
> Key: TEIID-5372
> URL: https://issues.jboss.org/browse/TEIID-5372
> Project: Teiid
> Issue Type: Enhancement
> Reporter: Rafal Korytkowski
> Assignee: Rafal Korytkowski
> Priority: Optional
>
> Currently there's limited support for docker in Teiid, which can be enabled by adding -Ddocker=true to the build command. The generated image is based on CentOS and running standalone on the Wildfly server. Latest builds are pushed to https://hub.docker.com/r/jboss/teiid/, but versions are not tagged automatically with releases. Development with Docker is not supported.
> Proposed changes:
> 1. Produce docker image based on Alpine, which is better suited for microservices, in addition to CentOS.
> 2. Automatically tag versions in Docker when doing releases.
> 3. Support development by providing a docker-compose file with the possibility to start server in a debug mode and enabled auto-redeployment of code changes.
> 4. Optionally provide a Docker image for building code using maven in Docker. Having Docker as the only prerequisite is convenient for CI environments and makes the build environment agnostic.
> [~shawkins], [~rareddy], thoughts?
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months
[JBoss JIRA] (TEIID-5360) DatabaseMetaData nullsAreSortedLow should not be true
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5360?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5360.
-----------------------------------
Resolution: Done
Resolved with a connection property rather than driving from the server side - since we aren't guaranteeing the sort behavior regardless. The connection property allows the user to choose whatever is appropriate, especially for mostly pass through scenarios.
Another consideration would be to allow some vdb property so this doesn't need set on the client side - but that didn't seem necessary at this time and would potentially add more confusion with the existing system properties.
> DatabaseMetaData nullsAreSortedLow should not be true
> -----------------------------------------------------
>
> Key: TEIID-5360
> URL: https://issues.jboss.org/browse/TEIID-5360
> Project: Teiid
> Issue Type: Quality Risk
> Components: JDBC Driver
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 11.0
>
>
> Since there isn't a hard guarantee of null sorts (without an explicit null sort) we should not indicate nulls are low in the DatabaseMetaData. This will leave all of the null sort methods as false, which may be an issue for some clients so a flag should be added to control this behavior.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months
[JBoss JIRA] (TEIID-5372) Enhance docker support
by Rafal Korytkowski (JIRA)
[ https://issues.jboss.org/browse/TEIID-5372?page=com.atlassian.jira.plugin... ]
Rafal Korytkowski commented on TEIID-5372:
------------------------------------------
I looked at "thorntail-teiid-examples" and one of them "vdb-datafederation" is actually showcasing OpenShift as one of deployment scenarios. We have a lot of good tutorials, but somehow I do not find them unless you point me to them :) I think what we need is to create a page summarizing possible teiid deployments (or maybe there's one?) including wildfly, wildfly with docker, thorntail and openshift. It should be linked from the teiid/REAMDE.md and be part of Teiid documentation. It doesn't make sense to me to duplicate examples using different deployment scenarios. The least I'd do is to point to a document with other deployment options and depending on how much work it is use one deployment option e.g. thorntail across as many examples as possible.
When using Thorntail, the Docker image you create is never a base one, rather a targeted one for your specific purpose with selected data source drivers, teiid translators, vdbs. It uses maven as a build tool to produce a customized version of Teiid. It's definitely the way forward for microservices.
I still think there's a value of supporting a standalone Teiid on Wildfly as a base image. It's an interesting option for building a Teiid instance purely with Docker as a build tool. It also allows to quickly evaluate Teiid giving an ability to start it with just one docker command. No Java tooling and experience needed. Similarly it can be handy for development purposes when working on Teiid core. However, we would need a proper HOWTO. I found https://developer.jboss.org/wiki/QuickstartExampleWithDockerizedTeiid, but I don't think it does things in the easiest way (it's 3 years old now and things got improved). JBoss images I checked are all based on jboss/base (CentOS), which seems to be preferred so I'd stick to that and would not introduce Alpine at this point.
> Enhance docker support
> ----------------------
>
> Key: TEIID-5372
> URL: https://issues.jboss.org/browse/TEIID-5372
> Project: Teiid
> Issue Type: Enhancement
> Reporter: Rafal Korytkowski
> Assignee: Rafal Korytkowski
> Priority: Optional
>
> Currently there's limited support for docker in Teiid, which can be enabled by adding -Ddocker=true to the build command. The generated image is based on CentOS and running standalone on the Wildfly server. Latest builds are pushed to https://hub.docker.com/r/jboss/teiid/, but versions are not tagged automatically with releases. Development with Docker is not supported.
> Proposed changes:
> 1. Produce docker image based on Alpine, which is better suited for microservices, in addition to CentOS.
> 2. Automatically tag versions in Docker when doing releases.
> 3. Support development by providing a docker-compose file with the possibility to start server in a debug mode and enabled auto-redeployment of code changes.
> 4. Optionally provide a Docker image for building code using maven in Docker. Having Docker as the only prerequisite is convenient for CI environments and makes the build environment agnostic.
> [~shawkins], [~rareddy], thoughts?
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months
[JBoss JIRA] (TEIID-5387) Procedure import from SAP IQ doesn't work
by Jan Martiska (JIRA)
[ https://issues.jboss.org/browse/TEIID-5387?page=com.atlassian.jira.plugin... ]
Jan Martiska resolved TEIID-5387.
---------------------------------
Resolution: Explained
You're right. It started working after updating the jConnect driver to
{{jConnect (TM) for JDBC(TM)/16.0 GA (Build 27008 )/P/EBF22326/JDK 1.6.0/jdbcmain/OPT/Sun Jan 12 09:41:12 PST 2014}}
> Procedure import from SAP IQ doesn't work
> -----------------------------------------
>
> Key: TEIID-5387
> URL: https://issues.jboss.org/browse/TEIID-5387
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.13.6_4
> Reporter: Jan Martiska
> Assignee: Steven Hawkins
>
> If I try to import any procedure (using native metadata repository) stored in SAP IQ database, I get this exception during import:
> {noformat}
> [mppr] 10:34:33,664 WARN [org.teiid.RUNTIME] (teiid-async-threads - 4) TEIID50036 VDB teiid5180.1 model "teiid5180" metadata failed to load. Reason:TEIID11010 java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 4.: org.teiid.translator.TranslatorException: TEIID11010 java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 4.
> [mppr] at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:302)
> [mppr] at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:70)
> [mppr] at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96) [teiid-engine-8.12.14.6_4-redhat-64-2.jar:8.12.14.6_4-redhat-64-2]
> [mppr] at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62) [teiid-engine-8.12.14.6_4-redhat-64-2.jar:8.12.14.6_4-redhat-64-2]
> [mppr] at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55) [teiid-engine-8.12.14.6_4-redhat-64-2.jar:8.12.14.6_4-redhat-64-2]
> [mppr] at org.teiid.jboss.VDBService$6.run(VDBService.java:395) [teiid-jboss-integration-8.12.14.6_4-redhat-64-2.jar:8.12.14.6_4-redhat-64-2]
> [mppr] at org.teiid.jboss.VDBService$7.run(VDBService.java:446) [teiid-jboss-integration-8.12.14.6_4-redhat-64-2.jar:8.12.14.6_4-redhat-64-2]
> [mppr] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_151]
> [mppr] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_151]
> [mppr] at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151]
> [mppr] at org.jboss.threads.JBossThread.run(JBossThread.java:122)
> [mppr] Caused by: java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 4.
> [mppr] at com.sybase.jdbc4.jdbc.SybConnection.getAllExceptions(SybConnection.java:2780)
> [mppr] at com.sybase.jdbc4.jdbc.SybStatement.handleSQLE(SybStatement.java:2665)
> [mppr] at com.sybase.jdbc4.jdbc.SybCallableStatement.sendRpc(SybCallableStatement.java:1716)
> [mppr] at com.sybase.jdbc4.jdbc.SybCallableStatement.executeQuery(SybCallableStatement.java:145)
> [mppr] at com.sybase.jdbc4.jdbc.SybDatabaseMetaData.returnResults(SybDatabaseMetaData.java:4286)
> [mppr] at com.sybase.jdbc4.jdbc.SybDatabaseMetaData.getProcedureColumns(SybDatabaseMetaData.java:2912)
> [mppr] at org.teiid.translator.jdbc.JDBCMetdataProcessor.getProcedures(JDBCMetdataProcessor.java:234)
> [mppr] at org.teiid.translator.jdbc.JDBCMetdataProcessor.getConnectorMetadata(JDBCMetdataProcessor.java:194)
> [mppr] at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:300)
> [mppr] ... 10 more
> [mppr]
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months
[JBoss JIRA] (TEIID-5380) Disallow the default option for a function parameter
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5380?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5380.
-----------------------------------
Fix Version/s: 11.0
Resolution: Done
Added an exception for defaults on function parameters.
> Disallow the default option for a function parameter
> ----------------------------------------------------
>
> Key: TEIID-5380
> URL: https://issues.jboss.org/browse/TEIID-5380
> Project: Teiid
> Issue Type: Quality Risk
> Components: Query Engine
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 11.0
>
>
> Currently there's no support in Teiid for default values for parameters of a Function.
> But [Function element in BNF for SQL Grammar|https://teiid.gitbooks.io/documents/content/reference/BNF_for_SQL_Grammar.html#createDDLProcedure] shares the definition with Procedure, which permits to deploy such a VDB, where there are DEFAULT values defined on a Function parameter.
> So a VDB with following DDL shouldn't deploy successfully:
> {code:sql}
> CREATE VIRTUAL FUNCTION f1(e2 string NOT NULL DEFAULT 'default') RETURNS string AS
> BEGIN
> RETURN e2;
> END;
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months
[JBoss JIRA] (TEIID-5343) Enable absolute URI on context definition of EntitySets when using ODATA
by Rafael Sampaio (JIRA)
[ https://issues.jboss.org/browse/TEIID-5343?page=com.atlassian.jira.plugin... ]
Rafael Sampaio commented on TEIID-5343:
---------------------------------------
Hello Ramesh, I'll try it and post a reply ASAP.
> Enable absolute URI on context definition of EntitySets when using ODATA
> ------------------------------------------------------------------------
>
> Key: TEIID-5343
> URL: https://issues.jboss.org/browse/TEIID-5343
> Project: Teiid
> Issue Type: Enhancement
> Components: OData
> Affects Versions: 10.2.1
> Reporter: Rafael Sampaio
> Assignee: Ramesh Reddy
> Fix For: 11.1
>
>
> Hi all you TEIID guys.
> As reported on [OLINGO-1025|https://issues.apache.org/jira/browse/OLINGO-1025], integrating to MS OData consumers (ie. PowerBI/PowerQuery) gives the "should be an absolute Uri" error.
> The proposed solution in the JIRA is implementing a Processor for any given EntityType. Browsing through the code i see TEIID uses the ServiceHandler approach, instead of processor and it also has a Custom JSON Odata Serializer.
> I see that the Default JSON serializer, when serializing entity collections uses the ContextURL to generate the context metadata for the EntityCollection, but by default it does not contain the service root, since it comes from static DataRequest.buildEntitySetContextURL(olingo) method.
> Would be nice if we could choose this behavior through a init param in the odata deployment.
> Thanks in advance.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months
[JBoss JIRA] (TEIID-5343) Enable absolute URI on context definition of EntitySets when using ODATA
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-5343?page=com.atlassian.jira.plugin... ]
Ramesh Reddy updated TEIID-5343:
--------------------------------
Fix Version/s: 11.1
(was: 11.0)
> Enable absolute URI on context definition of EntitySets when using ODATA
> ------------------------------------------------------------------------
>
> Key: TEIID-5343
> URL: https://issues.jboss.org/browse/TEIID-5343
> Project: Teiid
> Issue Type: Enhancement
> Components: OData
> Affects Versions: 10.2.1
> Reporter: Rafael Sampaio
> Assignee: Ramesh Reddy
> Fix For: 11.1
>
>
> Hi all you TEIID guys.
> As reported on [OLINGO-1025|https://issues.apache.org/jira/browse/OLINGO-1025], integrating to MS OData consumers (ie. PowerBI/PowerQuery) gives the "should be an absolute Uri" error.
> The proposed solution in the JIRA is implementing a Processor for any given EntityType. Browsing through the code i see TEIID uses the ServiceHandler approach, instead of processor and it also has a Custom JSON Odata Serializer.
> I see that the Default JSON serializer, when serializing entity collections uses the ContextURL to generate the context metadata for the EntityCollection, but by default it does not contain the service root, since it comes from static DataRequest.buildEntitySetContextURL(olingo) method.
> Would be nice if we could choose this behavior through a init param in the odata deployment.
> Thanks in advance.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months
[JBoss JIRA] (TEIID-5389) JDV 6.4 Quickstart examples not working with certain passwords
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-5389?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-5389:
-------------------------------------
I suspect some escaping character issue with maven.
> JDV 6.4 Quickstart examples not working with certain passwords
> --------------------------------------------------------------
>
> Key: TEIID-5389
> URL: https://issues.jboss.org/browse/TEIID-5389
> Project: Teiid
> Issue Type: Bug
> Components: Quick Starts
> Environment: JDV 6.4 installer
> JDV 6.4 Maven repository
> Apache Maven 3.5.0
> JRE - OpenJDK Runtime Environment (build 1.8.0_161-b14)
> JDK - jdk1.8.0_112
> RHEL Workstation 7.4
> Reporter: Alpa Jain
> Assignee: Van Halbert
>
> When executing the quickstart examples - dynamicvdb-dataroles and dynamicvdb-datafederation, certain application user's passwords were not working and constantly gave exception
> for any username (eg teiidUser, user, admin etc) and password =pa$$w0rd, always got below error
> [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.2:java (default-cli) on project simpleclient: An exception occured while executing the Java class. null: InvocationTargetException: TEIID50072 The username "teiidUser" and/or password and/or payload token could not be authenticated by security domain teiid-security. -> [Help 1]
> When using any username (eg teiidUser, user, admin etc) and password =redhat1!, always got below error at bash level
> bash: !": event not found
> Only when I changed the password to redhat*23, I was able to execute the quickstart examples.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months
[JBoss JIRA] (TEIID-5343) Enable absolute URI on context definition of EntitySets when using ODATA
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-5343?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-5343:
-------------------------------------
[~rafagsam] Can you apply the change from Olingo locally and see if that fixes the issue for you. I can only resolve this JIRA when Olingo releases their 4.5 release.
> Enable absolute URI on context definition of EntitySets when using ODATA
> ------------------------------------------------------------------------
>
> Key: TEIID-5343
> URL: https://issues.jboss.org/browse/TEIID-5343
> Project: Teiid
> Issue Type: Enhancement
> Components: OData
> Affects Versions: 10.2.1
> Reporter: Rafael Sampaio
> Assignee: Ramesh Reddy
> Fix For: 11.0
>
>
> Hi all you TEIID guys.
> As reported on [OLINGO-1025|https://issues.apache.org/jira/browse/OLINGO-1025], integrating to MS OData consumers (ie. PowerBI/PowerQuery) gives the "should be an absolute Uri" error.
> The proposed solution in the JIRA is implementing a Processor for any given EntityType. Browsing through the code i see TEIID uses the ServiceHandler approach, instead of processor and it also has a Custom JSON Odata Serializer.
> I see that the Default JSON serializer, when serializing entity collections uses the ContextURL to generate the context metadata for the EntityCollection, but by default it does not contain the service root, since it comes from static DataRequest.buildEntitySetContextURL(olingo) method.
> Would be nice if we could choose this behavior through a init param in the odata deployment.
> Thanks in advance.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months
[JBoss JIRA] (TEIID-3907) Support compensating transactions for updatable non-XA sources
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3907?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3907:
---------------------------------------
The proposal here would be to update the ExecutionFactory.TransactionSupport enum to include COMPENSATING. When the engine sees an update against such a source in the scope of a transaction it will create an undo action tied to a synchronization. The logic will also automatically change the update into a row-by-row procedure to appropriately capture the before state.
> Support compensating transactions for updatable non-XA sources
> --------------------------------------------------------------
>
> Key: TEIID-3907
> URL: https://issues.jboss.org/browse/TEIID-3907
> Project: Teiid
> Issue Type: Feature Request
> Components: Server
> Affects Versions: 9.x
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Fix For: 11.0
>
>
> The transaction manager will fully support xa with all xa sources and a single local transaction resource. Beyond that however there is no built-in support for compensating transactions with non-XA sources. There has been work in Narayana on compensating transactions though that could be used by custom web apps consuming Teiid. We would like to eventually offer compensating options for some of our updatable non-XA sources, but it hasn't had sufficient priority yet.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 6 months