XMLWordPrintable

    Details

    • 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:
      None

      Description

      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 (http://dev.mysql.com/doc/refman/5.6/en/server-plugin-loading.html)

          --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

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  Created:
                  Updated: