[JBoss JIRA] (TEIID-4710) Request id conflict with CommandContext connection
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-4710:
-------------------------------------
Summary: Request id conflict with CommandContext connection
Key: TEIID-4710
URL: https://issues.jboss.org/browse/TEIID-4710
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 8.7
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 9.0.6, 9.2, 9.1.3
When using the connection from the command context it executes within the context of the current session - but is not ensuring non-conflicting request ids are being used. This means that the current execution can be replaced or seemingly closed.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (TEIID-4706) PrestoDBMetadataProcessor load metadata failed due to Duplicate Table
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4706?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4706:
---------------------------------------
In a situation like this we can recommend several things:
use a teiid importing option that will use fully qualified teiid/source names
use specific filtering, such as excluding their information_schema
This could just be documented rather than hard coded.
> PrestoDBMetadataProcessor load metadata failed due to Duplicate Table
> ---------------------------------------------------------------------
>
> Key: TEIID-4706
> URL: https://issues.jboss.org/browse/TEIID-4706
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 9.2
> Environment: Scenario one
> * Presto 0.163 with one mysql catalog added
> * Teiid 9.2.0.Beta2-SNAPSHOT in embedded mode
> Scenario two
> * Presto 0.162 with one mysql catalog added(QE test environment)
> * Teiid 9.2.0.Beta2-SNAPSHOT server
> Reporter: Kylin Soong
> Assignee: Kylin Soong
> Attachments: TEIID4682Presto.java, module.zip, teiid4682-server-vdb.xml, teiid4682-vdb.xml
>
>
> PrestoDBMetadataProcessor use 'SHOW CATALOGS', 'SHOW TABLES FROM ...' to load tables from presto, presto default has a system catalog, in my test I only add one mysql catalog
> {code}
> SQL: SHOW CATALOGS
> +---------+
> | Catalog |
> +---------+
> | mysql |
> | system |
> +---------+
> {code}
> Note that both mysql and system has schema: *information_schema*:
> {code}
> SQL: SHOW SCHEMAS FROM mysql
> +--------------------+
> | Schema |
> +--------------------+
> | information_schema |
> | teiid |
> +--------------------+
> SQL: SHOW SCHEMAS FROM system
> +--------------------+
> | Schema |
> +--------------------+
> | information_schema |
> | jdbc |
> | metadata |
> | runtime |
> +--------------------+
> {code}
> Schema in different catalog contain the same tables
> {code}
> SQL: SHOW TABLES FROM mysql.information_schema
> +-------------------------+
> | Table |
> +-------------------------+
> | __internal_partitions__ |
> | columns |
> | schemata |
> | tables |
> | views |
> +-------------------------+
> SQL: SHOW TABLES FROM system.information_schema
> +-------------------------+
> | Table |
> +-------------------------+
> | __internal_partitions__ |
> | columns |
> | schemata |
> | tables |
> | views |
> +-------------------------+
> {code}
> Due the table name in both system.information_schema and mysql.information_schema has same table name, the *TEIID60013 Duplicate Table* through
> {code}
> Exception in thread "main" org.teiid.metadata.DuplicateRecordException: TEIID60013 Duplicate Table __internal_partitions__
> at org.teiid.metadata.Schema.addTable(Schema.java:49)
> at org.teiid.metadata.MetadataFactory.addTable(MetadataFactory.java:231)
> at org.teiid.translator.jdbc.JDBCMetdataProcessor.addTable(JDBCMetdataProcessor.java:368)
> at org.teiid.translator.prestodb.PrestoDBMetadataProcessor.addTable(PrestoDBMetadataProcessor.java:147)
> at org.teiid.translator.prestodb.PrestoDBMetadataProcessor.getConnectorMetadata(PrestoDBMetadataProcessor.java:74)
> at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:306)
> at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:69)
> at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
> at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
> at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
> at org.teiid.runtime.EmbeddedServer.loadMetadata(EmbeddedServer.java:816)
> at org.teiid.runtime.AbstractVDBDeployer.loadMetadata(AbstractVDBDeployer.java:210)
> at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:766)
> at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:707)
> at org.teiid.test.teiid4699.TEIID4682Presto.main(TEIID4682Presto.java:41)
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (TEIID-3952) Update to updatable internal materialized view should update the materialized view as well as the database
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3952?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-3952:
-------------------------------------
yes, updateRefreshMatView should handle the internal case too after further the updates from TEIID-4641, looks like this is much more simpler and consistent approach considering CDC based update strategy.
> Update to updatable internal materialized view should update the materialized view as well as the database
> ----------------------------------------------------------------------------------------------------------
>
> Key: TEIID-3952
> URL: https://issues.jboss.org/browse/TEIID-3952
> Project: Teiid
> Issue Type: Enhancement
> Components: VDB
> Affects Versions: 8.7
> Environment: Red Hat JBoss Data Virtualization 6.2 based on Teiid 8.7.x
> Reporter: Andy Yuen
> Assignee: Steven Hawkins
> Labels: jboss
> Fix For: 9.2
>
>
> Updating an updatable internal materized view updates the database but not the materialized view at present. The requested enhancement is that they, both, should be updated.
> Setup
> Client - SquirrelSQL to access JDV
> JDV 6.2 - with an updatable nternal materialized view of one table from the data source
> Data Source - just one data source: MySQL
> I can see from the console that the target table/view has been materialized
> Then I did the following:
> 1) select a row from the materialized table
> 2) update a field in a row in the materialized view
> 3) select that row (value unchanged ie, same as int 1) - tried multiple times
> 4) issue EXEC SYSADMIN.refreshMatViewRow(...) using primary key for the row that has been changed
> 5) select that row (value unchanged) - now I can see the changed data
> This behaviour is counter-intuitive because I was expecting that since it is an updatable materialized view, my change will write through the materialized view ie, change both the materialized view as well as the database. But in this case, it changed the database and not the materialized view?
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (TEIID-3952) Update to updatable internal materialized view should update the materialized view as well as the database
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3952?page=com.atlassian.jira.plugin... ]
Steven Hawkins edited comment on TEIID-3952 at 1/18/17 1:42 PM:
----------------------------------------------------------------
I'm thinking the best option is to initially only implement direct updates for external and make use of the system calls for internal.
was (Author: shawkins):
I'm thinking the best option is to initially only implement this for external.
> Update to updatable internal materialized view should update the materialized view as well as the database
> ----------------------------------------------------------------------------------------------------------
>
> Key: TEIID-3952
> URL: https://issues.jboss.org/browse/TEIID-3952
> Project: Teiid
> Issue Type: Enhancement
> Components: VDB
> Affects Versions: 8.7
> Environment: Red Hat JBoss Data Virtualization 6.2 based on Teiid 8.7.x
> Reporter: Andy Yuen
> Assignee: Steven Hawkins
> Labels: jboss
> Fix For: 9.2
>
>
> Updating an updatable internal materized view updates the database but not the materialized view at present. The requested enhancement is that they, both, should be updated.
> Setup
> Client - SquirrelSQL to access JDV
> JDV 6.2 - with an updatable nternal materialized view of one table from the data source
> Data Source - just one data source: MySQL
> I can see from the console that the target table/view has been materialized
> Then I did the following:
> 1) select a row from the materialized table
> 2) update a field in a row in the materialized view
> 3) select that row (value unchanged ie, same as int 1) - tried multiple times
> 4) issue EXEC SYSADMIN.refreshMatViewRow(...) using primary key for the row that has been changed
> 5) select that row (value unchanged) - now I can see the changed data
> This behaviour is counter-intuitive because I was expecting that since it is an updatable materialized view, my change will write through the materialized view ie, change both the materialized view as well as the database. But in this case, it changed the database and not the materialized view?
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (TEIID-3952) Update to updatable internal materialized view should update the materialized view as well as the database
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3952?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3952:
---------------------------------------
I'm thinking the best option is to initially only implement this for external.
> Update to updatable internal materialized view should update the materialized view as well as the database
> ----------------------------------------------------------------------------------------------------------
>
> Key: TEIID-3952
> URL: https://issues.jboss.org/browse/TEIID-3952
> Project: Teiid
> Issue Type: Enhancement
> Components: VDB
> Affects Versions: 8.7
> Environment: Red Hat JBoss Data Virtualization 6.2 based on Teiid 8.7.x
> Reporter: Andy Yuen
> Assignee: Steven Hawkins
> Labels: jboss
> Fix For: 9.2
>
>
> Updating an updatable internal materized view updates the database but not the materialized view at present. The requested enhancement is that they, both, should be updated.
> Setup
> Client - SquirrelSQL to access JDV
> JDV 6.2 - with an updatable nternal materialized view of one table from the data source
> Data Source - just one data source: MySQL
> I can see from the console that the target table/view has been materialized
> Then I did the following:
> 1) select a row from the materialized table
> 2) update a field in a row in the materialized view
> 3) select that row (value unchanged ie, same as int 1) - tried multiple times
> 4) issue EXEC SYSADMIN.refreshMatViewRow(...) using primary key for the row that has been changed
> 5) select that row (value unchanged) - now I can see the changed data
> This behaviour is counter-intuitive because I was expecting that since it is an updatable materialized view, my change will write through the materialized view ie, change both the materialized view as well as the database. But in this case, it changed the database and not the materialized view?
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months
[JBoss JIRA] (TEIID-3952) Update to updatable internal materialized view should update the materialized view as well as the database
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3952?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-3952:
-------------------------------------
If we can allow to widen the scope of global temp tables and replicate across nodes, then we could just use these directly as the internal materialization tables. But that could be lot more work.
> Update to updatable internal materialized view should update the materialized view as well as the database
> ----------------------------------------------------------------------------------------------------------
>
> Key: TEIID-3952
> URL: https://issues.jboss.org/browse/TEIID-3952
> Project: Teiid
> Issue Type: Enhancement
> Components: VDB
> Affects Versions: 8.7
> Environment: Red Hat JBoss Data Virtualization 6.2 based on Teiid 8.7.x
> Reporter: Andy Yuen
> Assignee: Steven Hawkins
> Labels: jboss
> Fix For: 9.2
>
>
> Updating an updatable internal materized view updates the database but not the materialized view at present. The requested enhancement is that they, both, should be updated.
> Setup
> Client - SquirrelSQL to access JDV
> JDV 6.2 - with an updatable nternal materialized view of one table from the data source
> Data Source - just one data source: MySQL
> I can see from the console that the target table/view has been materialized
> Then I did the following:
> 1) select a row from the materialized table
> 2) update a field in a row in the materialized view
> 3) select that row (value unchanged ie, same as int 1) - tried multiple times
> 4) issue EXEC SYSADMIN.refreshMatViewRow(...) using primary key for the row that has been changed
> 5) select that row (value unchanged) - now I can see the changed data
> This behaviour is counter-intuitive because I was expecting that since it is an updatable materialized view, my change will write through the materialized view ie, change both the materialized view as well as the database. But in this case, it changed the database and not the materialized view?
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 2 months