[JBoss JIRA] (TEIID-2481) common table (with) push down improvements
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2481?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2481:
----------------------------------
Description:
The general strategy for with pushdown should better handle:
- a with clause that can be pushed against a source that does not support common table. If a single reference or some other sufficient condition is met then we should just inline the pushdown rather than inhibiting the whole query from pushing down.
- even if a source supports with pushdown, it may be more performant in some circumstances to inline the common table reference (such as only a single reference). This is complicated slightly by subqueries.
- alternatively in some situations even if a with clause can be pushed, it may be better to not perform the pushdown -e.g. two separate pushdown accesses to a common table that is expensive to compute (this may need to be hint driven).
was:
The general strategy for with pushdown should better handle:
- a with clause that can be pushed against a source that does not support common table. If a single reference or some other sufficient condition is met then we should just inline the pushdown rather than inhibiting the whole query from pushing down.
- even if a source supports with pushdown, it may be more performant in some circumstances to inline the common table reference (such as only a single reference). This is complicated slightly by subqueries.
- alternatively in some situations even if a with clause can be pushed, it may be better to not perform the pushdown (this may need to be hint driven).
> common table (with) push down improvements
> ------------------------------------------
>
> Key: TEIID-2481
> URL: https://issues.jboss.org/browse/TEIID-2481
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
>
> The general strategy for with pushdown should better handle:
> - a with clause that can be pushed against a source that does not support common table. If a single reference or some other sufficient condition is met then we should just inline the pushdown rather than inhibiting the whole query from pushing down.
> - even if a source supports with pushdown, it may be more performant in some circumstances to inline the common table reference (such as only a single reference). This is complicated slightly by subqueries.
> - alternatively in some situations even if a with clause can be pushed, it may be better to not perform the pushdown -e.g. two separate pushdown accesses to a common table that is expensive to compute (this may need to be hint driven).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (TEIID-2478) incomplete with pushdown
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2478?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2478.
-----------------------------------
Resolution: Done
Added the planning issues by using more general tracking of all pushable with clauses instead of assuming just a uniform pushdown. also logged TEIID-2481 for improvements that can be addressed at a later time.
> incomplete with pushdown
> ------------------------
>
> Key: TEIID-2478
> URL: https://issues.jboss.org/browse/TEIID-2478
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 7.7
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.4
>
>
> If all the with clauses are not fully pushed, but is still pushable, the resulting query plan will contain incomplete references to the clauses.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (TEIID-2481) common table (with) push down improvements
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-2481:
-------------------------------------
Summary: common table (with) push down improvements
Key: TEIID-2481
URL: https://issues.jboss.org/browse/TEIID-2481
Project: Teiid
Issue Type: Enhancement
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
The general strategy for with pushdown should better handle:
- a with clause that can be pushed against a source that does not support common table. If a single reference or some other sufficient condition is met then we should just inline the pushdown rather than inhibiting the whole query from pushing down.
- even if a source supports with pushdown, it may be more performant in some circumstances to inline the common table reference (such as only a single reference). This is complicated slightly by subqueries.
- alternatively in some situations even if a with clause can be pushed, it may be better to not perform the pushdown (this may need to be hint driven).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (TEIID-2479) Selecting from SYS model throws exception
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2479?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2479.
-----------------------------------
Resolution: Done
ensured that all pg views have properly qualified references.
> Selecting from SYS model throws exception
> -----------------------------------------
>
> Key: TEIID-2479
> URL: https://issues.jboss.org/browse/TEIID-2479
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 7.4
> Environment: Teiid 8.3 running in JBoss EAP 6.0 RPM install
> java version "1.7.0_09-icedtea"
> OpenJDK Runtime Environment (rhel-2.3.8.0.el6_4-x86_64)
> OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
> Reporter: Graeme Gillies
> Assignee: Steven Hawkins
> Fix For: 8.4
>
>
> We have a dynamic vdb deployed into our Teiid 8.3 environment, but whenever we connect to the vdb via the pgsql emulation socket using the standard postgresql tools, and attempt to select any value from any tables in the SYS scheama, we are given an error
> {noformat}
> TestVDB=> select * from sys.keys;
> ERROR: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> DETAIL: org.teiid.jdbc.TeiidSQLException: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> TestVDB=> select * from sys.columns;
> ERROR: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> DETAIL: org.teiid.jdbc.TeiidSQLException: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> TestVDB=> select * from sys.tables;
> ERROR: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> DETAIL: org.teiid.jdbc.TeiidSQLException: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> TestVDB=>
> {noformat}
> It looks like the teiid parser is getting confused somehow with multiple pg_attribute fields on those tables or something.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (TEIID-2467) thread waits for matview loads
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2467?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2467.
-----------------------------------
Resolution: Done
The issue was actually specific to the handling of time slice expiration. Changed the time slice exception to be a blocked exception (which somewhat reduces its effectiveness, but that's ok since it's a weak mechanism) to have consistent handling through out the engine - for example TEIID-2430 also requires expired time slice to be a blocked exception since there is no explicit handling for the time slice exception.
> thread waits for matview loads
> ------------------------------
>
> Key: TEIID-2467
> URL: https://issues.jboss.org/browse/TEIID-2467
> Project: Teiid
> Issue Type: Quality Risk
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.4
>
>
> While a matview is loading other threads attempting to query the same matview are held as waiters on the table info lock.
> Also the mat table loading thread is marked is not allowed to throw a blocked exception and is tied to the current loading work.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (TEIID-2480) Unable to execute the domain cli script due bug in AS 7
by Van Halbert (JIRA)
Van Halbert created TEIID-2480:
----------------------------------
Summary: Unable to execute the domain cli script due bug in AS 7
Key: TEIID-2480
URL: https://issues.jboss.org/browse/TEIID-2480
Project: Teiid
Issue Type: Bug
Components: Build/Kits
Affects Versions: 8.4
Reporter: Van Halbert
Assignee: Van Halbert
Fix For: 8.4
I'm using EAP 6.1 ER5, and trying to execute the following using CLI:
/profile=ha/subsystem=security/security-domain=teiid-security:add(cache-type=default)
/profile=ha/subsystem=security/security-domain=teiid-security/authentication=classic/:add(login-modules=[{"code"=>"org.jboss.security.auth.spi.UsersRolesLoginModule", "flag"=>"required", "module-options"=>[("usersProperties"=>"$
{jboss.domain.config.dir}/teiid-security-users.properties"), ("rolesProperties"=>"${jboss.domain.config.dir}
/teiid-security-roles.properties")]}])
but I get the message:
…
"failure-description" => "JBAS014884: No operation named 'composite' exists at address [
…
The resolution is the workaround. However, this workaround needs to be applied to the script to make it work.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (TEIID-2480) Unable to execute the domain cli script due bug in AS 7
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-2480?page=com.atlassian.jira.plugin... ]
Work on TEIID-2480 started by Van Halbert.
> Unable to execute the domain cli script due bug in AS 7
> -------------------------------------------------------
>
> Key: TEIID-2480
> URL: https://issues.jboss.org/browse/TEIID-2480
> Project: Teiid
> Issue Type: Bug
> Components: Build/Kits
> Affects Versions: 8.4
> Reporter: Van Halbert
> Assignee: Van Halbert
> Fix For: 8.4
>
>
> I'm using EAP 6.1 ER5, and trying to execute the following using CLI:
> /profile=ha/subsystem=security/security-domain=teiid-security:add(cache-type=default)
> /profile=ha/subsystem=security/security-domain=teiid-security/authentication=classic/:add(login-modules=[{"code"=>"org.jboss.security.auth.spi.UsersRolesLoginModule", "flag"=>"required", "module-options"=>[("usersProperties"=>"$
> {jboss.domain.config.dir}/teiid-security-users.properties"), ("rolesProperties"=>"${jboss.domain.config.dir}
> /teiid-security-roles.properties")]}])
> but I get the message:
> …
> "failure-description" => "JBAS014884: No operation named 'composite' exists at address [
> …
> The resolution is the workaround. However, this workaround needs to be applied to the script to make it work.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (TEIID-2442) Blocking during with clause processing has adverse affects
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2442?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2442:
---------------------------------------
The workaround does not appear to be sufficient in situations where an expired timeslice exception is thrown. This issue should likely be added to the 8.3 patch set.
> Blocking during with clause processing has adverse affects
> ----------------------------------------------------------
>
> Key: TEIID-2442
> URL: https://issues.jboss.org/browse/TEIID-2442
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.1
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Blocker
> Fix For: 8.4
>
>
> A blocked exception, such that is typically thrown while waiting for results, that happens during the with clause load will cause the parent command to be rexecuted. This can lead to erroneous source queries and eventually exhaust connections.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (TEIID-2457) Assertion error with INTERSECT
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2457?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2457:
---------------------------------------
Did you apply patch 1 from http://www.jboss.org/teiid/downloads?
> Assertion error with INTERSECT
> ------------------------------
>
> Key: TEIID-2457
> URL: https://issues.jboss.org/browse/TEIID-2457
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.3, 7.7.6
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.4
>
>
> A sample query which produced the error is: SELECT IntKey FROM BQT1.SmallA INTERSECT SELECT IntNum FROM BQT1.SmallB ORDER BY INTKEY
> How to reproduce: Run the query using a client such as Squirrel multiple times. The results varies from returning an Assertion to returning actual results. In my test I ran the query five times and it returned actual results twice and the Assertion 3 times. The Assertion can be seen below.
> 2013-04-03 16:00:42,190 ERROR [org.teiid.PROCESSOR] (Worker4_QueryProcessorQueue146) Unexpected exception for request JyDs6MZ6d9zG.24
> java.lang.AssertionError: ASSERTION FAILED: expected reference to be not null
> at org.teiid.core.util.Assertion.failed(Assertion.java:73)
> at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
> at org.teiid.core.util.Assertion.isNotNull(Assertion.java:92)
> at org.teiid.common.buffer.TupleBuffer.getBatch(TupleBuffer.java:217)
> at org.teiid.common.buffer.TupleBuffer$1.getBatch(TupleBuffer.java:331)
> at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:61)
> at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:91)
> at org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:163)
> at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:212)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:280)
> at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:70)
> at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:69)
> at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:85)
> at org.teiid.common.buffer.AbstractTupleSource.nextTuple(AbstractTupleSource.java:48)
> at org.teiid.query.processor.relational.SortUtility.initialSort(SortUtility.java:248)
> at org.teiid.query.processor.relational.SortUtility.sort(SortUtility.java:185)
> at org.teiid.query.processor.relational.SortNode.sortPhase(SortNode.java:99)
> at org.teiid.query.processor.relational.SortNode.nextBatchDirect(SortNode.java:88)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:280)
> at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:100)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:280)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:176)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:139)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:105)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:147)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:375)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:288)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:216)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:244)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:122)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:292)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month
[JBoss JIRA] (TEIID-2479) Selecting from SYS model throws exception
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2479?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2479:
----------------------------------
Fix Version/s: 8.4
Affects Version/s: 7.4
(was: 8.3)
Workaround Description: If possible do not include the source pg catalogs (filter/exlcude them via the import settings).
Workaround: Workaround Exists
Our internal pg metadata catalog has queries that are not fully qualified, which would lead to this exception if a source pg system catalog is included. Then depending upon which queries the driver is running in the background for additional metadata it can hit this issue. This is not a regression with 8.3, so it may be a driver change for you or different import settings on your sources. The workaround for 8.3 and earlier if possible would be to not include the source pg catalogs (filter/exlcude them via the import settings).
> Selecting from SYS model throws exception
> -----------------------------------------
>
> Key: TEIID-2479
> URL: https://issues.jboss.org/browse/TEIID-2479
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 7.4
> Environment: Teiid 8.3 running in JBoss EAP 6.0 RPM install
> java version "1.7.0_09-icedtea"
> OpenJDK Runtime Environment (rhel-2.3.8.0.el6_4-x86_64)
> OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
> Reporter: Graeme Gillies
> Assignee: Steven Hawkins
> Fix For: 8.4
>
>
> We have a dynamic vdb deployed into our Teiid 8.3 environment, but whenever we connect to the vdb via the pgsql emulation socket using the standard postgresql tools, and attempt to select any value from any tables in the SYS scheama, we are given an error
> {noformat}
> TestVDB=> select * from sys.keys;
> ERROR: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> DETAIL: org.teiid.jdbc.TeiidSQLException: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> TestVDB=> select * from sys.columns;
> ERROR: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> DETAIL: org.teiid.jdbc.TeiidSQLException: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> TestVDB=> select * from sys.tables;
> ERROR: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> DETAIL: org.teiid.jdbc.TeiidSQLException: Group specified is ambiguous, resubmit the query by fully qualifying the group name: pg_attribute
> TestVDB=>
> {noformat}
> It looks like the teiid parser is getting confused somehow with multiple pg_attribute fields on those tables or something.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 1 month