You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/01/15 22:45:39 UTC

[jira] [Commented] (DRILL-4275) Refactor e/pstore interfaces and their factories to provide a unified mechanism to access stores

    [ https://issues.apache.org/jira/browse/DRILL-4275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15102513#comment-15102513 ] 

ASF GitHub Bot commented on DRILL-4275:
---------------------------------------

GitHub user hnfgns opened a pull request:

    https://github.com/apache/drill/pull/325

    DRILL-4275: Refactor e/pstore interfaces and their factories to provide a unified mechanism to access stores

    The main changes are the following:
    Remove EStore and EStoreProvider interfaces.
    Rename PStore to Store, PStoreProvider to StoreProvider
    Extend Store with getMode():StoreMode that returns store persistence level
    Ensure StoreProvider.getStore(mode) acts like a factory.
    Ensure Store implementations throw StoreException in case of failures and handle StoreExceptions
    
    All other files contain very tiny, local, satellite changes like variable name updates for name consistency, exception handling et cedera.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/hnfgns/incubator-drill DRILL-4275

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/325.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #325
    
----
commit 5b5dcd52242261050cfac2dfd2bbfc64e103cf12
Author: Hanifi Gunes <ha...@gmail.com>
Date:   2016-01-15T01:06:21Z

    DRILL-4275: Refactor e/pstore interfaces and their factories to provide a unified mechanism to access stores

----


> Refactor e/pstore interfaces and their factories to provide a unified mechanism to access stores
> ------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-4275
>                 URL: https://issues.apache.org/jira/browse/DRILL-4275
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Execution - Flow
>            Reporter: Hanifi Gunes
>            Assignee: Deneche A. Hakim
>
> We rely on E/PStore interfaces to persist data. Even though E/PStore stands for Ephemeral and Persistent stores respectively, the current design for EStore does not extend the interface/functionality of PStore at all, which hints abstraction for EStore is redundant. This issue proposes a new unified Store interface replacing the old E/PStore that exposes an additional method that report persistence level as follows:
> {code:title=Store interface}
> interface Store<V> {
>   StoreMode getMode();
>   V get(String key);
>   ...
> }
> enum StoreMode {
>   EPHEMERAL,
>   PERSISTENT,
>   ...
> }
> {code}
> The new design brings in less redundancy, more centralized code, ease to reason and maintain.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)