[JBoss JIRA] (TEIID-3977) Add support for EnableDependentJoins for Impala data sources
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3977?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-3977:
----------------------------------
Security: (was: Red Hat Internal)
> Add support for EnableDependentJoins for Impala data sources
> -------------------------------------------------------------
>
> Key: TEIID-3977
> URL: https://issues.jboss.org/browse/TEIID-3977
> Project: Teiid
> Issue Type: Feature Request
> Components: JDBC Connector
> Affects Versions: 8.7, 8.12
> Reporter: Anu Saji
> Assignee: Steven Hawkins
> Fix For: 10.2
>
>
> Hi,
> Request to Add support for EnableDependentJoins for Impala data sources. Current docs only suggest [0] [1] Table 13.8
> [0]
> For sources that support temporary tables (DB2, Derby, H2, HSQL 2.0+, MySQL 5.0+, Oracle, PostgreSQL, SQLServer, Sybase) allow dependent join pushdown.
> [1]
> https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Data_Virtuali...
> Thanks
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months
[JBoss JIRA] (TEIID-5228) Reference to "element in the tree" in documentation
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5228?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5228.
-----------------------------------
Resolution: Done
Corrected over usage of the term element in the reference guide.
> Reference to "element in the tree" in documentation
> ---------------------------------------------------
>
> Key: TEIID-5228
> URL: https://issues.jboss.org/browse/TEIID-5228
> Project: Teiid
> Issue Type: Bug
> Components: Documentation
> Reporter: Andrej Šmigala
> Assignee: Steven Hawkins
> Fix For: 10.2
>
>
> The section "Writing a Visitor" of the Developer's Guide contains this quote:
> bq. For instance, if you wanted to count the number of elements in the tree, you need only override the visit(ColumnReference) method.
> This is old terminology and shoud be replaced with "column reference"
> {quote}
> shawkins: it's mixing terminology. in the engine (from the old metamatrix days) column references are called element symbols, so a lot of the logic refers to them as elements
> shawkins: it should use the term column reference instead
> {quote}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months
[JBoss JIRA] (TEIID-2762) Can't deploy or execute VDB by JBDS with setting useDisk property to false
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-2762?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on TEIID-2762:
------------------------------------------------
jolee(a)redhat.com changed the Status of [bug 1039838|https://bugzilla.redhat.com/show_bug.cgi?id=1039838] from ASSIGNED to CLOSED
> Can't deploy or execute VDB by JBDS with setting useDisk property to false
> --------------------------------------------------------------------------
>
> Key: TEIID-2762
> URL: https://issues.jboss.org/browse/TEIID-2762
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.7.8
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Fix For: 9.0
>
>
> Description of problem:
> Can't deploy or execute VDB by JBDS with setting useDisk property to false.
> Version-Release number of selected component (if applicable):
> EDS 5.3.1
> Steps to Reproduce:
> 1. Set following property to false;
> $JBOSS_HOME/server/default/deploy/teiid/teiid-jboss-beans.xml
> ~~
> <bean name="BufferService" class="org.teiid.services.BufferServiceImpl">
> <!-- Use disk for buffer management -->
> <property name="useDisk">true</property>
> ~~
> 2. Deploy or execute VDB whose size is 2.38MB by JBDS
> Actual results:
> Following ERROR was thrown by teiid server.
> 2013-12-04 16:14:45,800 ERROR [org.teiid.TRANSPORT] (New I/O server worker #2-1) Unhandled exception, closing client instance
> java.lang.IllegalArgumentException
> at java.nio.Buffer.limit(Buffer.java:247)
> at org.teiid.common.buffer.impl.MemoryStorageManager$MemoryFileStore.readWrite(MemoryStorageManager.java:74)
> at org.teiid.common.buffer.FileStore.write(FileStore.java:178)
> at org.teiid.common.buffer.FileStore.write(FileStore.java:171)
> at org.teiid.common.buffer.FileStore$2.write(FileStore.java:238)
> at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
> at org.jboss.netty.buffer.HeapChannelBuffer.getBytes(HeapChannelBuffer.java:116)
> at org.jboss.netty.buffer.DynamicChannelBuffer.getBytes(DynamicChannelBuffer.java:156)
> at org.jboss.netty.buffer.AbstractChannelBuffer.readBytes(AbstractChannelBuffer.java:381)
> at org.teiid.transport.ObjectDecoder.decode(ObjectDecoder.java:158)
> at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:282)
> at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:214)
> at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
> at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
> at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
> at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:214)
> at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
> at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
> at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
> at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
> at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
> at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> at java.lang.Thread.run(Thread.java:662
> Expected results:
> Can deploy or execute VDB
> Additional info:
> Original buffer size used in org.teiid.common.buffer.impl.MemoryStorageManager was initialized by MAX_FILE_SIZE(131072bytes) at L47. However, readWrite() tried to allocate more size to the buffer at L74.
> org.teiid.common.buffer.impl.MemoryStorageManager.java
> ~~~
> public static final int MAX_FILE_SIZE = 1 << 17; // L44
> ~~~
> private ByteBuffer buffer = ByteBuffer.allocate(MAX_FILE_SIZE); // L47
> ~~~
> @Override
> protected synchronized int readWrite(long fileOffset, byte[] b, int offSet,
> int length, boolean write) {
> if (!write) {
> if (fileOffset >= getLength()) {
> return -1;
> }
> int position = (int)fileOffset;
> buffer.position(position);
> length = Math.min(length, (int)getLength() - position);
> buffer.get(b, offSet, length);
> return length;
> }
> int requiredLength = (int)(fileOffset + length);
> if (requiredLength > buffer.limit()) {
> buffer.limit(requiredLength); //L74
> }
> buffer.position((int)fileOffset);
> buffer.put(b, offSet, length);
> return length;
> ~~~
> According to JavaSE7's javadoc, it's not allowed to assign a larger limit size to the Buffer than it's capacity.
> http://docs.oracle.com/javase/7/docs/api/java/nio/Buffer.html
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months
[JBoss JIRA] (TEIID-5255) Assertion failed in MergeJoinStrategy.setProcessingSortRight
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5255?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5255:
---------------------------------------
> While writing down this issue, I restarted our server and the issue is now gone so I can't reproduce it at this time. I was also planning on retrieving the SHOWPLAN contents...
The plan would definitely be helpful as this exception is happening post planning. If it's not consistent after a restart it is dependent on row counts.
> Assertion failed in MergeJoinStrategy.setProcessingSortRight
> ------------------------------------------------------------
>
> Key: TEIID-5255
> URL: https://issues.jboss.org/browse/TEIID-5255
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 10.1
> Reporter: Bram Gadeyne
> Assignee: Steven Hawkins
>
> 2018-02-12 09:10:44,905 ERROR [org.teiid.PROCESSOR] (Worker35_QueryProcessorQueue538707) Jtb6gbxGtFZG TEIID30019 Unexpected exception for request Jtb6gbxGtFZG.42: java.lang.AssertionError: Assertion failed.
> at org.teiid.core.util.Assertion.failed(Assertion.java:69)
> at org.teiid.core.util.Assertion.assertTrue(Assertion.java:64)
> at org.teiid.core.util.Assertion.assertTrue(Assertion.java:56)
> at org.teiid.query.processor.relational.MergeJoinStrategy.setProcessingSortRight(MergeJoinStrategy.java:381)
> ...
> In the code for this I see this comment:
> //it is possible that a delayed open will be called after the parent open
> //for now we'll just throw an assertion
> The exception occurs while executing this query:
> {code:sql}
> insert into rep38_results(admissionid, vargroup, vartype, vartime, varenttime, varstrvalue, vardoublevalue, vartimevalue,validated)
> select patientid, Labogroep, v.name, sampletime, entertime, stringvalue, varvalue,null,false
> from (
> select lc.patientid, lm.Labogroep, lm.name, lc.sampletime, lc.entertime, lc.stringvalue, lc.varvalue,
> lc.resultid, lc.ResultNo,
> row_number() over(partition by lc.patientid, lc.variableid_nieuw, lc.SampleTime order by lc.ResultID, lc.ResultNo desc) as rang
> from rep38_cohort coh
> join izisprod.P_GeneralData gd on
> gd.PatientID = cast(coh.admissionid as integer) and
> gd.Status >= 4 and gd.status <> 5
> join izisprod.U_PV_LabCorrectValues lc on
> lc.PatientID = gd.patientid and
> BITAND(lc.status, 8) = 8 and
> BITAND(lc.status, 2) <> 2 and
> lc.sampletime > PARSETIMESTAMP('2013-01-01','yyyy-MM-dd') and
> lc.sampletime between coh.studystart and coh.studyend
> join izisprod.U_P_LabMapping lm on
> lm.labogroep in ('WBC-b','INR','crp-s','Thrombocyten','Lactaat-s') and
> lm.VariableID = lc.variableid_oud
> UNION ALL
> select lc.patientid, lm.Labogroep, lm.name, lc.sampletime, lc.entertime, lc.stringvalue, lc.varvalue,
> lc.resultid, lc.ResultNo,
> row_number() over(partition by lc.patientid, lc.variableid_nieuw, lc.SampleTime order by lc.ResultID, lc.ResultNo desc) as rang
> from rep38_cohort coh
> join iziswh.P_GeneralData gd on gd.PatientID = cast(coh.admissionid as integer)
> join iziswh.U_PV_LabCorrectValues lc on
> lc.PatientID = gd.patientid and
> BITAND(lc.status, 8) = 8 and
> BITAND(lc.status, 2) <> 2 and
> lc.sampletime > PARSETIMESTAMP('2013-01-01','yyyy-MM-dd') and
> lc.sampletime between coh.studystart and coh.studyend
> join izisprod.U_P_LabMapping lm on
> lm.labogroep in ('WBC-b','INR','crp-s','Thrombocyten','Lactaat-s') and
> lm.VariableID = lc.variableid_oud
> ) v
> where v.rang = 1
> order by patientid, Labogroep, SampleTime;
> {code}
> While writing down this issue, I restarted our server and the issue is now gone so I can't reproduce it at this time. I was also planning on retrieving the SHOWPLAN contents...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months
[JBoss JIRA] (TEIID-5256) Sysadmin Usage table doesn't track usage of procedures
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5256?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5256.
-----------------------------------
Fix Version/s: 10.1.1
10.0.4
10.2
Resolution: Done
The collection logic was using the wrong instanceof check to locate the metadata id of procedures. This has been corrected.
> Sysadmin Usage table doesn't track usage of procedures
> ------------------------------------------------------
>
> Key: TEIID-5256
> URL: https://issues.jboss.org/browse/TEIID-5256
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 10.1.1, 10.0.4, 10.2
>
>
> I can't see a dependency of a view on either foreign or virtual procedures.
> {code:xml|title=vdb}
> <model name="insideVirtualModel" type="VIRTUAL">
> <metadata type="DDL">
> <![CDATA[
> CREATE VIEW v1 (v1col string) AS SELECT 'a' UNION ALL SELECT 'b';
> CREATE VIEW v2 (v2col string) AS SELECT v1col||'b' FROM v1;
> CREATE VIRTUAL PROCEDURE p1() RETURNS (p1col string) AS
> BEGIN
> SELECT v2col FROM v2;
> END
> CREATE VIEW v7 (v7col string) AS SELECT p1.p1col FROM (CALL p1())AS p1;
> ]]>
> </metadata>
> </model>
> <model name="dependentOnPhysicalModel" type="VIRTUAL">
> <metadata type="DDL">
> <![CDATA[
> CREATE VIEW v3 (v3col string) AS SELECT t1col||'b' FROM t1;
> CREATE VIEW v4 (v4col string) AS SELECT p.p2col FROM (CALL p2(1)) AS p;
> ]]>
> </metadata>
> </model>
> {code}
> I don't get any entries in SYSADMIN.Usage for both v4 and v7 views.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months
[JBoss JIRA] (TEIID-5256) Sysadmin Usage table doesn't track usage of procedures
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5256?page=com.atlassian.jira.plugin... ]
Work on TEIID-5256 started by Steven Hawkins.
---------------------------------------------
> Sysadmin Usage table doesn't track usage of procedures
> ------------------------------------------------------
>
> Key: TEIID-5256
> URL: https://issues.jboss.org/browse/TEIID-5256
> Project: Teiid
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
>
> I can't see a dependency of a view on either foreign or virtual procedures.
> {code:xml|title=vdb}
> <model name="insideVirtualModel" type="VIRTUAL">
> <metadata type="DDL">
> <![CDATA[
> CREATE VIEW v1 (v1col string) AS SELECT 'a' UNION ALL SELECT 'b';
> CREATE VIEW v2 (v2col string) AS SELECT v1col||'b' FROM v1;
> CREATE VIRTUAL PROCEDURE p1() RETURNS (p1col string) AS
> BEGIN
> SELECT v2col FROM v2;
> END
> CREATE VIEW v7 (v7col string) AS SELECT p1.p1col FROM (CALL p1())AS p1;
> ]]>
> </metadata>
> </model>
> <model name="dependentOnPhysicalModel" type="VIRTUAL">
> <metadata type="DDL">
> <![CDATA[
> CREATE VIEW v3 (v3col string) AS SELECT t1col||'b' FROM t1;
> CREATE VIEW v4 (v4col string) AS SELECT p.p2col FROM (CALL p2(1)) AS p;
> ]]>
> </metadata>
> </model>
> {code}
> I don't get any entries in SYSADMIN.Usage for both v4 and v7 views.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months
[JBoss JIRA] (TEIID-5257) Sysadmin Usage table doesn't track column-level usage by a virtual procedure
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5257?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-5257:
----------------------------------
Issue Type: Enhancement (was: Bug)
Component/s: Query Engine
(was: Server)
Marking as an enhancement rather than a bug. When column level tracking was added, it was added only for views. Procedures can be more difficult to track usage as there can be multiple return statements, the use of temporary tables or variables, etc., so this was left unimplemented initially.
> Sysadmin Usage table doesn't track column-level usage by a virtual procedure
> ----------------------------------------------------------------------------
>
> Key: TEIID-5257
> URL: https://issues.jboss.org/browse/TEIID-5257
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
>
> There are not column-level dependencies in relation 'Virtual procedure column -> View/table column'.
> For this vdb:
> {code:xml|title=vdb}
> <model name="insideVirtualModel" type="VIRTUAL">
> <metadata type="DDL">
> <![CDATA[
> CREATE VIEW v1 (v1col string) AS SELECT 'a' UNION ALL SELECT 'b';
> CREATE VIEW v2 (v2col string) AS SELECT v1col||'b' FROM v1;
> CREATE VIRTUAL PROCEDURE p1() RETURNS (p1col string) AS
> BEGIN
> SELECT v2col FROM v2;
> END
> CREATE VIEW v7 (v7col string) AS SELECT p1.p1col FROM (CALL p1())AS p1;
> ]]>
> </metadata>
> </model>
> <model name="dependentOnPhysicalModel" type="VIRTUAL">
> <metadata type="DDL">
> <![CDATA[
> CREATE VIEW v3 (v3col string) AS SELECT t1col||'b' FROM t1;
> CREATE VIEW v4 (v4col string) AS SELECT p.p2col FROM (CALL p2(1)) AS p;
> ]]>
> </metadata>
> </model>
> {code}
> Following query:
> {code:sql|title=SYSADMIN.Usage query}
> SELECT * FROM SYSADMIN.Usage WHERE VDBName='vdbname' AND SchemaName='insideVirtualModel' AND Name='p1' AND object_type='Column' AND Uses_object_type='Column'
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months
[JBoss JIRA] (TEIID-5257) Sysadmin Usage table doesn't track column-level usage by a virtual procedure
by Jan Stastny (JIRA)
Jan Stastny created TEIID-5257:
----------------------------------
Summary: Sysadmin Usage table doesn't track column-level usage by a virtual procedure
Key: TEIID-5257
URL: https://issues.jboss.org/browse/TEIID-5257
Project: Teiid
Issue Type: Bug
Components: Server
Affects Versions: 8.12.x-6.4
Reporter: Jan Stastny
Assignee: Steven Hawkins
There are not column-level dependencies in relation 'Virtual procedure column -> View/table column'.
For this vdb:
{code:xml|title=vdb}
<model name="insideVirtualModel" type="VIRTUAL">
<metadata type="DDL">
<![CDATA[
CREATE VIEW v1 (v1col string) AS SELECT 'a' UNION ALL SELECT 'b';
CREATE VIEW v2 (v2col string) AS SELECT v1col||'b' FROM v1;
CREATE VIRTUAL PROCEDURE p1() RETURNS (p1col string) AS
BEGIN
SELECT v2col FROM v2;
END
CREATE VIEW v7 (v7col string) AS SELECT p1.p1col FROM (CALL p1())AS p1;
]]>
</metadata>
</model>
<model name="dependentOnPhysicalModel" type="VIRTUAL">
<metadata type="DDL">
<![CDATA[
CREATE VIEW v3 (v3col string) AS SELECT t1col||'b' FROM t1;
CREATE VIEW v4 (v4col string) AS SELECT p.p2col FROM (CALL p2(1)) AS p;
]]>
</metadata>
</model>
{code}
Following query:
{code:sql|title=SYSADMIN.Usage query}
SELECT * FROM SYSADMIN.Usage WHERE VDBName='vdbname' AND SchemaName='insideVirtualModel' AND Name='p1' AND object_type='Column' AND Uses_object_type='Column'
{code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months