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

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • Execution - Flow
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: