Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-4186 queue enhancements [umbrella]
  3. DRILL-4275

Refactor e/pstore interfaces and their factories to provide a unified mechanism to access stores

    XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Execution - Flow
    • Labels:
      None

      Description

      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:

      Store interface
      interface Store<V> {
        StoreMode getMode();
        V get(String key);
        ...
      }
      
      enum StoreMode {
        EPHEMERAL,
        PERSISTENT,
        ...
      }
      

      The new design brings in less redundancy, more centralized code, ease to reason and maintain.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                hgunes Hanifi Gunes
                Reporter:
                hgunes Hanifi Gunes
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: