[ 
https://issues.apache.org/jira/browse/IMPALA-9670?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Quanlong Huang reassigned IMPALA-9670:
--------------------------------------

    Assignee: Quanlong Huang

> Fix unloaded views are shown as tables for GET_TABLES requests
> --------------------------------------------------------------
>
>                 Key: IMPALA-9670
>                 URL: https://issues.apache.org/jira/browse/IMPALA-9670
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Catalog
>            Reporter: Quanlong Huang
>            Assignee: Quanlong Huang
>            Priority: Critical
>
> JDBC/ODBC clients will send GET_TABLES requests to get the list of tables of 
> a given db. Table types and comments should be returned as well. However, for 
> unloaded views which are represended as IncompleteTable, Impala doesn't know 
> the exact table types and return them as tables by default. This causes some 
> troubles for applications that needs to distinguish views.
> Problems to fix in this JIRA:
>  * Views are shown as tables when Impala launches (all views are unloaded).
>  * Views are shown as tables after creation (the created view is unloaded).
> Possible solution is adding table type to IncompleteTable:
>  * {{IncompleteTable}} s are created in several places. Add table type in 
> those places.
>  * For startup and global invalidate metadata,
>  ** Approach 1: use getTables API with table type.
>  *** currently we use IMetaStoreClient#getAllTables(dbName) to get table 
> names inside a db and create IncompleteTables for them. 
>  *** We can add an additional call to load names of views using 
> IMetaStoreClient#getTables(dbName, tablePattern, tableType).
>  *** This may increase the startup time by 2x.
>  ** Approach 2: use getTableMeta API instead of getAllTables.
>  *** Pros: can get the comments as well. 
>  *** Cons: This may increase the startup time by 4x.
>  * Load view's metadata at the end of lightweight DDL operations like 
> "INVALIDATE METADATA _table_", "CREATE VIEW", etc.
>  * EventProcessors can extract table type from the event's HMS table object.
>  * Add a feature flag for this so users don't need this can turn it off to 
> reduce the startup time.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to