Interface PluginBootstrapLoader

All Known Implementing Classes:
PluginBootstrapLoaderImpl

public interface PluginBootstrapLoader
Generalized interface for bootstraping or upgrading the plugin persistent store. Provides the list of bootstrap plugins, along with those to be upgraded. Provides confirmation that the upgrade was performed to avoid doing it again.

Caveats:: The upgrade mechanism is rather ad-hoc; it actually needs a version number to be solid, but the persistent store does not currently provide a version number. See DRILL-7613.

  • Method Details

    • bootstrapPlugins

      StoragePlugins bootstrapPlugins() throws IOException
      Drill has detected that this is a new installation. Provide the list of storage plugins (that is, names and configs) to use to populate the storage plugin store.
      Throws:
      IOException
    • updatedPlugins

      StoragePlugins updatedPlugins()
      Drill has detected that on restart, the persistent storage plugin exists. Return any changes that should be applied.

      Note: this functionality is crude, there is no version, all Drillbits in a cluster will race to do the upgrade. Caveat emptor. See DRILL-7613.

    • onUpgrade

      void onUpgrade()
      Drill successfully applied the plugin upgrades from updatedPlugins(). Use this event to mark this version as having been upgraded. (Again, this is crude and may not actually work. See DRILL-7613.)