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

Todd Lipcon resolved IMPALA-7128.
---------------------------------
       Resolution: Fixed
    Fix Version/s: Impala 3.1.0

Committed in two commits:
{code}
commit 0b540b0258e1407e7d19d9bb37bceb9478e4d243
Author: Todd Lipcon <[email protected]>
Date:   Tue Jun 5 18:05:14 2018 -0700

    IMPALA-7128 (part 1) Refactor interfaces for Db, View, Table, Partition
    
    This refactors out interfaces in the frontend for the interaction
    between the analysis/planning code and the classes that implement
    these catalog objects.
    
    This takes care of the most commonly used objects but defers some others
    (e.g. functions, cache pools, data sources, etc) to follow-on patches.
    
    There are a few spots remaining in the frontend that still downcast to
    implementation classes, particularly where the frontend actually makes
    modifications to catalog objects in-place. I left TODOs in those spots
    and will come back later as necessary.
    
    Change-Id: Id55f7d2e94d81e66ce720acb6315f15a89621b31
    Reviewed-on: http://gerrit.cloudera.org:8080/10611
    Reviewed-by: Impala Public Jenkins <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>

commit 527c0ca0ed67d6cf0a3cc2b168faf9a79708149c
Author: Todd Lipcon <[email protected]>
Date:   Wed Jun 6 10:30:34 2018 -0700

    IMPALA-7128 (part 2): add an interface for data sources
    
    This changes most of the usage of DataSource and DataSourceTable to use
    interfaces instead of implementation classes. There are still various
    usages of the implementation for functionality like creating and
    dropping data sources. We'll address those as part of IMPALA-7131 at a
    later date.
    
    Change-Id: Ibe704197dc2ad7c09b8340865f17567096aa630e
    Reviewed-on: http://gerrit.cloudera.org:8080/10626
    Reviewed-by: Impala Public Jenkins <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>
{code}

> Extract interfaces for frontend interaction with catalog objects
> ----------------------------------------------------------------
>
>                 Key: IMPALA-7128
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7128
>             Project: IMPALA
>          Issue Type: Sub-task
>          Components: Catalog, Frontend
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Major
>             Fix For: Impala 3.1.0
>
>
> Currently both the catalogd and the impalad use the same implementation 
> classes for catalog objects such as Table, Function, HdfsPartition, etc. 
> Those implementations are fairly tightly coupled to the current design of the 
> catalog.
> For the new catalog design, it will be easier to have a new set of classes 
> rather than attempting to reuse or modify the existing ones for a few reasons:
> - the existing ones are mutable in the catalogd and thus have to worry quite 
> a bit about synchronization, whereas the new design uses immutable catalog 
> objects
> - the existing ones assume "all or nothing" loading whereas the new design 
> involves lazy-loading relevant bits of info
> - we don't want to destabilize the existing implementation, so we want to 
> avoid any nontrivial modifications of the existing code.
> Extracting a set of interfaces such as 'FeTable', 'FeDb', etc, will help 
> decouple the frontend from the particular catalog implementation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to