• Type: New Feature
    • Status: On Hold
    • Priority: Low
    • Resolution: Unresolved
    • Affects Version/s: 5.6.x, 5.7.x
    • Fix Version/s: None
    • Component/s: None
    • Labels:


      Add a new boolean server command line option
          --force-all-plugins=TRUE|FALSE. FALSE corresponds to the legacy
          MySQL behavior and TRUE is the new default. If TRUE, the server
          will abort its startup if any of the plugins in the mysql.plugin
          fail to load.

      Add a new value to the --plugin-name variable, OPTIONAL. It will allow for the specified plugin to be loaded but any load error will not be fatal.

          Interaction with other plugin load-controlling options (

          --plugin-load, --plugin-load-add: failure to load any of these
          plugins will result in server startup abort too.

          --skip-grant-tables: straightforward as this will cause no plugins
          in mysql.plugin table to be loaded, thus no forcing. If both
          --skip-grant-tables and --plugin-load[-add] are specified, the
          mysql.plugin plugins will be skipped and plugin-load ones forced.

          --plugin-name=OFF, --disable-plugin-name, --skip-plugin-name: a
          forced plugin load is skipped for this plugin.

          --plugin-name=ON|FORCE, --enable-plugin-name: no-ops.

          --plugin-name=FORCE_PLUS_PERMANENT: prevents the plugin from being
          unloaded at runtime, otherwise a no-op.

          The motivation for this option is 3rd party storage engine plugins
          such as TokuDB. Their failure to load results in reduced server
          functionality, for example, existing tables in that storage engine
          become inaccessible. Moreover, if, for example, crash recovery is
          needed, it will run partially, may choose the wrong transaction
          log coordinator, resulting in crash recovery failure, server
          abort, and the need to perform heuristic or manual crash
          recovery. However mysql.plugin schema does not differentiate
          between the plugin types, thus we cannot tell whether any plugin
          is a storage engine without attempting to load it first. That's
          why we force initialization for all installed plugins.

        Smart Checklist


            Issue Links



                • Assignee:
                  laurynas.biveinis Laurynas Biveinis (Inactive)
                • Votes:
                  1 Vote for this issue
                  2 Start watching this issue


                  • Created: