drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-4275) Refactor e/pstore interfaces and their factories to provide a unified mechanism to access stores
Date Tue, 16 Feb 2016 00:31:18 GMT

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

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

Github user sudheeshkatkam commented on a diff in the pull request:

    https://github.com/apache/drill/pull/374#discussion_r52956715
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/coord/zk/ZKClusterCoordinator.java
---
    @@ -206,6 +209,16 @@ public DistributedSemaphore getSemaphore(String name, int maximumLeases)
{
         return new ZkDistributedSemaphore(curator, "/semaphore/" + name, maximumLeases);
       }
     
    +  @Override
    +  public <V> TransientStore<V> getOrCreateTransientStore(final TransientStoreConfig<V>
config) {
    +    final ZkEphemeralStore<V> store = (ZkEphemeralStore<V>)factory.getOrCreateStore(config);
    +    try {
    +      store.start();
    --- End diff --
    
    Accessing profiles will trigger starting the store again, which will cause an "already
started" exception.


> 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)

Mime
View raw message