[JBoss JIRA] (TEIID-3645) Upgrade of Amazon aws sdk version
by avinash misra (JIRA)
[ https://issues.jboss.org/browse/TEIID-3645?page=com.atlassian.jira.plugin... ]
avinash misra commented on TEIID-3645:
--------------------------------------
This is for teiid embedded. I am working on a product which internally uses teiid embedded for data virtualization.
Currently I was working on DynamoDB connector but due to above mentioned jar issue, I am not able to go ahead.
> Upgrade of Amazon aws sdk version
> ---------------------------------
>
> Key: TEIID-3645
> URL: https://issues.jboss.org/browse/TEIID-3645
> Project: Teiid
> Issue Type: Component Upgrade
> Components: Misc. Connectors
> Affects Versions: 8.11.2
> Environment: teiid 8.11.2
> windows 8.1
> java 8
> Reporter: avinash misra
> Assignee: Steven Hawkins
> Fix For: 8.11.3
>
>
> I was working on dynamodb connector with latest dynamodb sdk.
> This sdk uses aws-java-sdk-core version 1.10.11 but teiid uses aws-java-sdk 1.5.7. internally for simple db connector.
> Could you please upgrade the aws sdk version to latest?
>
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3568) Order By and Limit are not getting pushed to the database, when Union and join are used together.
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3568?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3568:
---------------------------------------
This is covered as well now.
> Order By and Limit are not getting pushed to the database, when Union and join are used together.
> --------------------------------------------------------------------------------------------------
>
> Key: TEIID-3568
> URL: https://issues.jboss.org/browse/TEIID-3568
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Affects Versions: 8.1
> Reporter: Guru Prasad
> Assignee: Steven Hawkins
> Fix For: 8.12
>
> Attachments: Jars in build path.txt, PushOrderByLimitTest1.java, ShowPlan.txt
>
>
> Order By and Limit are not getting pushed to the database, when Union and join are used together.
> In this scenario there if the underlying table has millions of records the query never returns with data.
> *Query 1*: Using only Join without union, this works fine.
> SELECT u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode FROM (
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab1
> ) as u
> LEFT OUTER JOIN XYZ.CATEGORY AS ct ON u.evtcatcode = ct.evtcatcode
> WHERE (u.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (u.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY u.evtsysid LIMIT 8
> PROCESSOR PLAN:
> AccessNode(0) output=[evttypecode AS evttypecode, evtsysid AS evtsysid, evtutctod AS evtutctod, evtsystod AS evtsystod, evtcatcode AS evtcatcode]
> SELECT g_0.EVTTYPECODE AS c_0, g_0.EVTSYSID AS c_1, g_0.EVTUTCTOD AS c_2, g_0.EVTSYSTOD AS c_3, g_0.EVTCATCODE AS c_4 FROM ABC.Tab1 AS g_0 LEFT OUTER JOIN ABC.CATEGORY AS g_1 ON g_0.EVTCATCODE = g_1.EVTCATCODE WHERE (g_0.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_0.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY c_1 LIMIT 8
> *Query 2*: Using only Union without any join, this also works fine.
> SELECT u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode FROM (
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab1
> UNION ALL
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab2
> ) as u
> WHERE (u.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (u.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY u.evtsysid LIMIT 8
> PROCESSOR PLAN:
> AccessNode(0) output=[evttypecode AS evttypecode, evtsysid AS evtsysid, evtutctod AS evtutctod, evtsystod AS evtsystod, evtcatcode AS evtcatcode]
> SELECT g_1.EVTTYPECODE AS c_0, g_1.EVTSYSID AS c_1, g_1.EVTUTCTOD AS c_2, g_1.EVTSYSTOD AS c_3, g_1.EVTCATCODE AS c_4 FROM ABC.Tab1 AS g_1 WHERE (g_1.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_1.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) UNION ALL
> SELECT g_0.EVTTYPECODE AS c_0, g_0.EVTSYSID AS c_1, g_0.EVTUTCTOD AS c_2, g_0.EVTSYSTOD AS c_3, g_0.EVTCATCODE AS c_4 FROM ABC.Tab2 AS g_0 WHERE (g_0.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_0.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY c_1 LIMIT 8
> *Query 3*: Using both Union and join, this does not push down the order by and limit.
> SELECT u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode FROM (
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab1
> UNION ALL
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab2
> ) as u
> LEFT OUTER JOIN XYZ.EVTTYPE AS tp ON tp.evttypecode = u.evttypecode
> LEFT OUTER JOIN XYZ.CATEGORY AS ct ON u.evtcatcode = ct.evtcatcode
> WHERE (u.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (u.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY u.evtsysid LIMIT 8
> PROCESSOR PLAN:
> ProjectNode(0) output=[u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode] [u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode]
> LimitNode(1) output=[u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode] limit 8
> SortNode(2) output=[u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode] [SORT] [u.evtsysid]
> JoinNode(3) [MERGE JOIN (SORT/ALREADY_SORTED)] [LEFT OUTER JOIN] criteria=[u.evtcatcode=evtcatcode] output=[u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode]
> JoinNode(4) [MERGE JOIN (SORT/ALREADY_SORTED)] [LEFT OUTER JOIN] criteria=[u.evttypecode=evttypecode] output=[u.evtcatcode, u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod]
> AccessNode(5) output=[u.evttypecode, u.evtcatcode, u.evtsysid, u.evtutctod, u.evtsystod]
> SELECT g_1.EVTTYPECODE AS c_0, g_1.EVTCATCODE AS c_1, g_1.EVTSYSID AS c_2, g_1.EVTUTCTOD AS c_3, g_1.EVTSYSTOD AS c_4 FROM ABC.Tab1 AS g_1 WHERE (g_1.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_1.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'})
> UNION ALL SELECT g_0.EVTTYPECODE AS c_0, g_0.EVTCATCODE AS c_1, g_0.EVTSYSID AS c_2, g_0.EVTUTCTOD AS c_3, g_0.EVTSYSTOD AS c_4 FROM ABC.Tab2 AS g_0 WHERE (g_0.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_0.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'})
> AccessNode(6) output=[evttypecode] SELECT g_0.EVTTYPECODE AS c_0 FROM ABC.EVTTYPE AS g_0 ORDER BY c_0
> AccessNode(7) output=[evtcatcode] SELECT g_0.EVTCATCODE AS c_0 FROM ABC.CATEGORY AS g_0 ORDER BY c_0
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3641) ANSI 89 joins not translating to 92 syntax correctly
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3641?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-3641.
-----------------------------------
Resolution: Done
Since it doesn't appear that impala supports parens for nesting, updated the logic to write the join tree as left linear. The engine will typically push down as right linear as that fits our internal evaluation model.
This will need to be revisited to handle bushy joins as the conversion would fail at the translator level. The engine or the translator would need to convert one side of the join into a subquery instead.
> ANSI 89 joins not translating to 92 syntax correctly
> ----------------------------------------------------
>
> Key: TEIID-3641
> URL: https://issues.jboss.org/browse/TEIID-3641
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.11.2
> Environment: Ubuntu Linux Trusty
> Reporter: Don Krapohl
> Assignee: Steven Hawkins
> Fix For: 8.12
>
>
> SQL 89 syntax being translated to SQL 92 has the ON portion of the join in the wrong place when there are multiple tables.
> Example source query:
> select sum(Table3.sales) as c1,
> Table1.customer_id as c2,
> Table1.customer_name as c3,
> Table2.store_id as c4
> from
> dim_customer Table1,
> dim_store Table2,
> fact_sales Table3
> where ( Table1.customer_id = Table3.customer_id
> and Table1.customer_id = 3184
> and Table2.store_id = Table3.store_id
> and Table2.store_id = 9020
> and Table3.customer_id = 3184
> and Table3.store_id = 9020 )
> group by Table1.customer_id, Table1.customer_name, Table2.store_id
> is translated to
> SELECT SUM(g_2.sales), g_0.customer_id, g_0.customer_name, g_1.store_id
> FROM dim_customer g_0
> JOIN dim_store g_1
> JOIN fact_sales g_2
> ON g_1.store_id = g_2.store_id
> ON g_0.customer_id = g_2.customer_id
> WHERE g_0.customer_id = 3184
> AND g_1.store_id = 9020
> AND g_2.customer_id = 3184
> AND g_2.store_id = 9020
> GROUP BY g_0.customer_id, g_0.customer_name, g_1.store_id
>
>
>
>
> Notice the two JOIN... JOIN... followed by two ON... ON... statements. Our database (Impala) doesn't recognize this pattern of join syntax. I haven't tested to determine if it's just Impala that doesn't recognize this syntax (implying a translator bug) or core query parsing. Expected query should be something close to:
>
> SELECT SUM(g_2.sales), g_0.customer_id, g_0.customer_name, g_1.store_id
> FROM dim_customer g_0
> JOIN fact_sales g_2
> ON g_0.customer_id = g_2.customer_id
> JOIN dim_store g_1
> ON g_1.store_id = g_2.store_id
> WHERE g_0.customer_id = 3184
> AND g_1.store_id = 9020
> AND g_2.customer_id = 3184
> AND g_2.store_id = 9020
> GROUP BY g_0.customer_id, g_0.customer_name, g_1.store_id
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3538) Make OData V2 compatible with LINQPad
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3538?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-3538:
-------------------------------------
[~jstastny] It looks like there are couple limitations with LINQPad
1) LINQPad does not seem to handle FunctionImports, i.e Procedures. If the model contains only procedures, no tables then also it acts error.
2) LINQPad does not work with multiple schema, EntityContainers in the $metadata, I mean it will not show all the schemas, it will only show the default. Since in the Teiid VDB's $metadata we will not set any default schema, it finds the first one and uses it. OData V2 does allow multiple Schemas and multiple EntityContainer's in a single $metadata (v4 changed to multiple schema, but single EntityContainer to solve this issue)
We can mark a certain model as it is the default EntityContainer based on some metadata, but that does not exist today. So, right now my guess is LINQPad is not designed completely for V2 spec.
> Make OData V2 compatible with LINQPad
> -------------------------------------
>
> Key: TEIID-3538
> URL: https://issues.jboss.org/browse/TEIID-3538
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Labels: Final
> Fix For: 8.7.1.6_2, 8.11
>
> Attachments: $metadata
>
>
> Current OData V2 implementation is not able to load in LINQPad https://www.linqpad.net/
> Couple issues found
> - List(Edm.xxx) based collections are not supported. V2 Spec did not specify any List based collections. Only Collection(Edm.xxx) type. So, part of TEIID-3471 need to be rolled back and fix with Collection(Edm.xxx) type
> - Explicit definition of "not null" in Entity's key property.
> - TEIID-3471 did not go far enough to define accepts header to have "application/xml", "application/atom+xml" and "application/json" without "chaset=utf-8" appended to it. TEIID-3471 only added $metadata and service document. BTW, I was under the impression that I did add all the required places, and was surprised not see in commit :(
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3538) Make OData V2 compatible with LINQPad
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3538?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-3538:
-------------------------------------
[~jstastny] Can you attach your VDB? or send it to me directly?
> Make OData V2 compatible with LINQPad
> -------------------------------------
>
> Key: TEIID-3538
> URL: https://issues.jboss.org/browse/TEIID-3538
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Labels: Final
> Fix For: 8.7.1.6_2, 8.11
>
> Attachments: $metadata
>
>
> Current OData V2 implementation is not able to load in LINQPad https://www.linqpad.net/
> Couple issues found
> - List(Edm.xxx) based collections are not supported. V2 Spec did not specify any List based collections. Only Collection(Edm.xxx) type. So, part of TEIID-3471 need to be rolled back and fix with Collection(Edm.xxx) type
> - Explicit definition of "not null" in Entity's key property.
> - TEIID-3471 did not go far enough to define accepts header to have "application/xml", "application/atom+xml" and "application/json" without "chaset=utf-8" appended to it. TEIID-3471 only added $metadata and service document. BTW, I was under the impression that I did add all the required places, and was surprised not see in commit :(
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3568) Order By and Limit are not getting pushed to the database, when Union and join are used together.
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3568?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3568:
---------------------------------------
An additional commit will be needed to generally handle the case when we create a limit over a sort then an access node.
> Order By and Limit are not getting pushed to the database, when Union and join are used together.
> --------------------------------------------------------------------------------------------------
>
> Key: TEIID-3568
> URL: https://issues.jboss.org/browse/TEIID-3568
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Affects Versions: 8.1
> Reporter: Guru Prasad
> Assignee: Steven Hawkins
> Fix For: 8.12
>
> Attachments: Jars in build path.txt, PushOrderByLimitTest1.java, ShowPlan.txt
>
>
> Order By and Limit are not getting pushed to the database, when Union and join are used together.
> In this scenario there if the underlying table has millions of records the query never returns with data.
> *Query 1*: Using only Join without union, this works fine.
> SELECT u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode FROM (
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab1
> ) as u
> LEFT OUTER JOIN XYZ.CATEGORY AS ct ON u.evtcatcode = ct.evtcatcode
> WHERE (u.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (u.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY u.evtsysid LIMIT 8
> PROCESSOR PLAN:
> AccessNode(0) output=[evttypecode AS evttypecode, evtsysid AS evtsysid, evtutctod AS evtutctod, evtsystod AS evtsystod, evtcatcode AS evtcatcode]
> SELECT g_0.EVTTYPECODE AS c_0, g_0.EVTSYSID AS c_1, g_0.EVTUTCTOD AS c_2, g_0.EVTSYSTOD AS c_3, g_0.EVTCATCODE AS c_4 FROM ABC.Tab1 AS g_0 LEFT OUTER JOIN ABC.CATEGORY AS g_1 ON g_0.EVTCATCODE = g_1.EVTCATCODE WHERE (g_0.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_0.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY c_1 LIMIT 8
> *Query 2*: Using only Union without any join, this also works fine.
> SELECT u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode FROM (
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab1
> UNION ALL
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab2
> ) as u
> WHERE (u.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (u.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY u.evtsysid LIMIT 8
> PROCESSOR PLAN:
> AccessNode(0) output=[evttypecode AS evttypecode, evtsysid AS evtsysid, evtutctod AS evtutctod, evtsystod AS evtsystod, evtcatcode AS evtcatcode]
> SELECT g_1.EVTTYPECODE AS c_0, g_1.EVTSYSID AS c_1, g_1.EVTUTCTOD AS c_2, g_1.EVTSYSTOD AS c_3, g_1.EVTCATCODE AS c_4 FROM ABC.Tab1 AS g_1 WHERE (g_1.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_1.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) UNION ALL
> SELECT g_0.EVTTYPECODE AS c_0, g_0.EVTSYSID AS c_1, g_0.EVTUTCTOD AS c_2, g_0.EVTSYSTOD AS c_3, g_0.EVTCATCODE AS c_4 FROM ABC.Tab2 AS g_0 WHERE (g_0.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_0.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY c_1 LIMIT 8
> *Query 3*: Using both Union and join, this does not push down the order by and limit.
> SELECT u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode FROM (
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab1
> UNION ALL
> select evttypecode, evtsysid, evtutctod, evtsystod, evtcatcode from XYZ.Tab2
> ) as u
> LEFT OUTER JOIN XYZ.EVTTYPE AS tp ON tp.evttypecode = u.evttypecode
> LEFT OUTER JOIN XYZ.CATEGORY AS ct ON u.evtcatcode = ct.evtcatcode
> WHERE (u.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (u.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'}) ORDER BY u.evtsysid LIMIT 8
> PROCESSOR PLAN:
> ProjectNode(0) output=[u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode] [u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode]
> LimitNode(1) output=[u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode] limit 8
> SortNode(2) output=[u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode] [SORT] [u.evtsysid]
> JoinNode(3) [MERGE JOIN (SORT/ALREADY_SORTED)] [LEFT OUTER JOIN] criteria=[u.evtcatcode=evtcatcode] output=[u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod, u.evtcatcode]
> JoinNode(4) [MERGE JOIN (SORT/ALREADY_SORTED)] [LEFT OUTER JOIN] criteria=[u.evttypecode=evttypecode] output=[u.evtcatcode, u.evttypecode, u.evtsysid, u.evtutctod, u.evtsystod]
> AccessNode(5) output=[u.evttypecode, u.evtcatcode, u.evtsysid, u.evtutctod, u.evtsystod]
> SELECT g_1.EVTTYPECODE AS c_0, g_1.EVTCATCODE AS c_1, g_1.EVTSYSID AS c_2, g_1.EVTUTCTOD AS c_3, g_1.EVTSYSTOD AS c_4 FROM ABC.Tab1 AS g_1 WHERE (g_1.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_1.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'})
> UNION ALL SELECT g_0.EVTTYPECODE AS c_0, g_0.EVTCATCODE AS c_1, g_0.EVTSYSID AS c_2, g_0.EVTUTCTOD AS c_3, g_0.EVTSYSTOD AS c_4 FROM ABC.Tab2 AS g_0 WHERE (g_0.EVTUTCTOD >= {ts'2015-06-03 19:20:00.8'}) AND (g_0.EVTUTCTOD <= {ts'2015-06-03 19:20:01.0'})
> AccessNode(6) output=[evttypecode] SELECT g_0.EVTTYPECODE AS c_0 FROM ABC.EVTTYPE AS g_0 ORDER BY c_0
> AccessNode(7) output=[evtcatcode] SELECT g_0.EVTCATCODE AS c_0 FROM ABC.CATEGORY AS g_0 ORDER BY c_0
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3569) OData servlet throws TEIID10036/TEIID40087 when disabling security
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3569?page=com.atlassian.jira.plugin... ]
Ramesh Reddy edited comment on TEIID-3569 at 8/20/15 11:17 AM:
---------------------------------------------------------------
Providing a way to set JDBC connection properties through servlet init properties; thus if passthough needs to be false, it can be set as init property in web.xml,
{code}
<context-param>
<param-name>PassthroughAuthentication</param-name>
<param-value>false</param-value>
</context-param>
{code}
if property is set this property will default to true as before. This also gives way to set any additional JDBC connection properties if needed. So to recap how to do this
- Open the OData WAR file. Edit the "web.xml " and comment the HTTP Basic authorization specific content, as shown in first comment
- Add
{code}
<context-param>
<param-name>PassthroughAuthentication</param-name>
<param-value>false</param-value>
</context-param>
{code}
- Then edit "jboss-web.xml" and comment out or remove line "<security-domain>java:/jaas/teiid-security</security-domain>"
- save the war file with updated contents.
- Edit the standalone-teiid.xml, in the "teiid" subsystem, for "odata" transport define it as
{code}
<transport name="odata">
<authentication security-domain="teiid-security-odata"/>
</transport>
{code}
Then in the security-domains subsystems add a security domain for "teiid-security-odata" as
{code}
<security-domain name="teiid-security-odata" cache-type="default">
<authentication>
<login-module code="org.jboss.security.auth.spi.IdentityLoginModule" flag="sufficient">
<module-option name="principal" value="guest"/>
</login-module>
</authentication>
</security-domain>
{code}
restart the server and HTTP Basic is removed from the odata calls.
was (Author: rareddy):
Providing a way to set JDBC connection properties through servlet init properties; thus if passthough needs to be false, it can be set as init property in web.xml,
{code}
<context-param>
<param-name>PassthroughAuthentication</param-name>
<param-value>false</param-value>
</context-param>
{code}
if property is set this property will default to true as before. This also gives way to set any additional JDBC connection properties if needed. So to recap how to do this
- Open the OData WAR file. Edit the "web.xml " and comment the HTTP Basic authorization specific content, as shown in first comment
- Add
{code}
<context-param>
<param-name>PassthroughAuthentication</param-name>
<param-value>false</param-value>
</context-param>
{code}
- Then edit "jboss-web.xml" and comment out or remove line "<security-domain>java:/jaas/teiid-security</security-domain>"
- save the war file with updated contents.
- Edit the standalone-teiid.xml, in the "teiid" subsystem, for "odata" transport define it as
{code}
<transport name="odata">
<authentication security-domain="teiid-security-odata"/>
</transport>
{code}
Then in the security-domains subsystems add a security domain for "teiid-security-odata" as
{code}
<security-domain name="teiid-security-odata" cache-type="default">
<authentication>
<login-module code="org.jboss.security.auth.spi.SimpleUsersLoginModule" flag="sufficient">
<module-option name="unauthenticatedIdentity" value="guest"/>
</login-module>
</authentication>
</security-domain>
{code}
restart the server and HTTP Basic is removed from the odata calls.
> OData servlet throws TEIID10036/TEIID40087 when disabling security
> ------------------------------------------------------------------
>
> Key: TEIID-3569
> URL: https://issues.jboss.org/browse/TEIID-3569
> Project: Teiid
> Issue Type: Enhancement
> Components: OData
> Affects Versions: 8.7.1
> Reporter: Hisanobu Okuda
> Assignee: Ramesh Reddy
> Fix For: 8.7.1.6_2, 8.12
>
>
> When I disable security for teiid-odata-8.7.1.redhat-8.war modifying web.xml as follows:-
> {code}
> <!--
> <security-constraint>
> <display-name>require valid user</display-name>
> <web-resource-collection>
> <web-resource-name>Teiid Rest Application</web-resource-name>
> <url-pattern>/*</url-pattern>
> </web-resource-collection>
> <auth-constraint>
> <role-name>odata</role-name>
> </auth-constraint>
> </security-constraint>
> <login-config>
> <auth-method>BASIC</auth-method>
> <realm-name>yourdomain.com</realm-name>
> </login-config>
> -->
> </web-app>
> {code}
> The OData servlet thowrs an exception:-
> {code}
> 10:47:51,578 SEVERE [org.teiid.jdbc] (http-/127.0.0.1:8080-2) Could not create connection: org.teiid.jdbc.TeiidSQLException: TEIID10036 org.teiid.core.TeiidException: TEIID10036 org.teiid.net.ConnectionException: TEIID40087 Passthrough authentication failed. No auth[6/1654]
> on information found.
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135) [teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71) [teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.jdbc.EmbeddedProfile.connect(EmbeddedProfile.java:55) [teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.jdbc.TeiidDriver.connect(TeiidDriver.java:105) [teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.odata.LocalClient.getConnection(LocalClient.java:121) [classes:]
> at org.teiid.odata.LocalClient.getVDB(LocalClient.java:94) [classes:]
> at org.teiid.odata.LocalClient.getMetadata(LocalClient.java:425) [classes:]
> at org.teiid.odata.TeiidProducer.getMetadata(TeiidProducer.java:69) [classes:]
> at org.odata4j.producer.resources.EntitiesRequestResource.getEntitiesImpl(EntitiesRequestResource.java:350) [odata4j-core-0.8.0.redhat-2.jar:]
> at org.odata4j.producer.resources.EntitiesRequestResource.getEntities(EntitiesRequestResource.java:266) [odata4j-core-0.8.0.redhat-2.jar:]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_45]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_45]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_45]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_45]
> at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
> at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
> at org.teiid.odata.ODataServletContainerDispatcher.service(ODataServletContainerDispatcher.java:118) [classes:]
> at org.teiid.odata.ODataServlet.service(ODataServlet.java:65) [classes:]
> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.4.3.Final-redhat-2.jar:7.4.3.Final-redhat-2]
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
> Caused by: org.teiid.core.TeiidException: TEIID10036 org.teiid.core.TeiidException: TEIID10036 org.teiid.net.ConnectionException: TEIID40087 Passthrough authentication failed. No authentication information found.
> at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:292) [teiid-common-core-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.jdbc.ModuleHelper.createFromModule(ModuleHelper.java:53) [teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.jdbc.EmbeddedProfile.createServerConnection(EmbeddedProfile.java:60) [teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.jdbc.EmbeddedProfile.connect(EmbeddedProfile.java:50) [teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> ... 35 more
> Caused by: org.teiid.core.TeiidException: TEIID10036 org.teiid.net.ConnectionException: TEIID40087 Passthrough authentication failed. No authentication information found.
> at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:329) [teiid-common-core-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:290) [teiid-common-core-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> ... 38 more
> Caused by: org.teiid.net.ConnectionException: TEIID40087 Passthrough authentication failed. No authentication information found.
> at org.teiid.transport.LocalServerConnection.authenticate(LocalServerConnection.java:132) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.transport.LocalServerConnection.<init>(LocalServerConnection.java:99) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.7.0_45]
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [rt.jar:1.7.0_45]
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.7.0_45]
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [rt.jar:1.7.0_45]
> at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:327) [teiid-common-core-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> ... 39 more
> Caused by: org.teiid.client.security.LogonException: TEIID40087 Passthrough authentication failed. No authentication information found.
> at org.teiid.transport.LogonImpl.logon(LogonImpl.java:153) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.transport.LogonImpl.logon(LogonImpl.java:117) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_45]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_45]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_45]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_45]
> at org.teiid.transport.LocalServerConnection$1$1.call(LocalServerConnection.java:170) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:258) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:168) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at com.sun.proxy.$Proxy94.logon(Unknown Source)
> at org.teiid.transport.LocalServerConnection.authenticate(LocalServerConnection.java:128) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> ... 45 more
> Caused by: javax.security.auth.login.LoginException: TEIID40087 Passthrough authentication failed. No authentication information found.
> at org.teiid.services.SessionServiceImpl.passThroughLogin(SessionServiceImpl.java:214) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.services.SessionServiceImpl.createSession(SessionServiceImpl.java:169) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> at org.teiid.transport.LogonImpl.logon(LogonImpl.java:133) [teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
> ... 57 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3646) Teiid Result Set Caching OPTION NOCACHE problem
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3646?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-3646:
------------------------------------------------
Van Halbert <vhalbert(a)redhat.com> changed the Status of [bug 1255297|https://bugzilla.redhat.com/show_bug.cgi?id=1255297] from NEW to CLOSED
> Teiid Result Set Caching OPTION NOCACHE problem
> -----------------------------------------------
>
> Key: TEIID-3646
> URL: https://issues.jboss.org/browse/TEIID-3646
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.7.1.6_2
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
>
> When using 'OPTION NOCACHE' in a query, there are probably still cached results for the query.
> The tested query:
> {code:sql}
> /*+ cache */ SELECT * FROM Customers OPTION NOCACHE
> {code}
> Test scenario:
> Insert value into db, directly through its jdbc driver:
> {code:sql}INSERT INTO Customers VALUES(1, 'name1'){code}
> Check via teiid, that query returns one row. This result set should not be cached.
> {code:sql}/*+ cache */ SELECT * FROM Customers OPTION NOCACHE{code}
> Insert another row into db, via its jdbc driver, not through teiid:
> {code:sql}INSERT INTO Customers VALUES(2, 'name2'){code}
> Check that this query returns again current state of db (2 rows) now:
> {code:sql}/*+ cache */ SELECT * FROM Customers OPTION NOCACHE{code}
> But this check fails, teiid returns only one row, seemingly the result set for query with 'OPTION NOCACHE' gets cached.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3645) Upgrade of Amazon aws sdk version
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3645?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3645:
---------------------------------------
It looks like that should be easily doable. Is this for use with embedded and/or are you wanting to contribute to Teiid and have the poms align?
> Upgrade of Amazon aws sdk version
> ---------------------------------
>
> Key: TEIID-3645
> URL: https://issues.jboss.org/browse/TEIID-3645
> Project: Teiid
> Issue Type: Component Upgrade
> Components: Misc. Connectors
> Affects Versions: 8.11.2
> Environment: teiid 8.11.2
> windows 8.1
> java 8
> Reporter: avinash misra
> Assignee: Steven Hawkins
> Fix For: 8.11.3
>
>
> I was working on dynamodb connector with latest dynamodb sdk.
> This sdk uses aws-java-sdk-core version 1.10.11 but teiid uses aws-java-sdk 1.5.7. internally for simple db connector.
> Could you please upgrade the aws sdk version to latest?
>
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3646) Teiid Result Set Caching OPTION NOCACHE problem
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3646?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-3646.
-----------------------------------
Resolution: Rejected
nocache as well as the other caching directives in the option clause refer to materialization not to result set caching.
> Teiid Result Set Caching OPTION NOCACHE problem
> -----------------------------------------------
>
> Key: TEIID-3646
> URL: https://issues.jboss.org/browse/TEIID-3646
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.7.1.6_2
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
>
> When using 'OPTION NOCACHE' in a query, there are probably still cached results for the query.
> The tested query:
> {code:sql}
> /*+ cache */ SELECT * FROM Customers OPTION NOCACHE
> {code}
> Test scenario:
> Insert value into db, directly through its jdbc driver:
> {code:sql}INSERT INTO Customers VALUES(1, 'name1'){code}
> Check via teiid, that query returns one row. This result set should not be cached.
> {code:sql}/*+ cache */ SELECT * FROM Customers OPTION NOCACHE{code}
> Insert another row into db, via its jdbc driver, not through teiid:
> {code:sql}INSERT INTO Customers VALUES(2, 'name2'){code}
> Check that this query returns again current state of db (2 rows) now:
> {code:sql}/*+ cache */ SELECT * FROM Customers OPTION NOCACHE{code}
> But this check fails, teiid returns only one row, seemingly the result set for query with 'OPTION NOCACHE' gets cached.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months