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

Attach filesAttach ScreenshotVotersStop watchingWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Issue deployment