[MDEV-32043] mariadb-upgrade should remove mysql.plugin entries for plugins that became bundled Created: 2023-08-30 Updated: 2023-12-09 Resolved: 2023-12-09 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Plugins |
| Affects Version/s: | 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0, 11.1 |
| Fix Version/s: | 10.4.33, 10.5.24, 10.6.17, 10.11.7, 11.0.5, 11.1.4, 11.2.3 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Hartmut Holzgraefe | Assignee: | Daniel Black |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
For example the unix_socket plugin was a loadable plugin up to 10.3, but became a compiled-in plugin starting with 10.4 due to the privilege tables structure changes. So if the plugin had e.g. be enabled with INSTALL PLUGIN in 10.3 then after an upgrade to 10.4 that mysql.plugin entry leads to a [ERROR] mariadbd: Plugin 'unix_socket' is already installed. log entry as the plugin is already active due to being built-in, and trying to load it once again while processing mysql.plugin entries will lead to that "already installed" notification. As we know which plugins have been changed to be compiled in for a given release we should also take care of not triggering any warnings due to the version upgrade, these just confuse users as they didn't actually do anything wrong. Or at a minimum the error message should be more clear on an attempt to load a plugin that's actually already built in into the current server binary, as at first sight I was assuming the usual "plugin_load_add vs INSTALL PLUGIN" situation, and doubted that the user had sent me the correct / complete configuration file ... so "plugin is already built in to the server" instead of "plugin is already loaded" |
| Comments |
| Comment by Daniel Black [ 2023-08-31 ] | ||||||||||||||||||||||||||||
|
changes the Error to Note for those added with plugin_load_add or in built. From:
to:
The error is on those already in mysql.plugin and attempting to install those. I verified that unix_socket is working. So that an the mariadb-upgrade script to remove it. AFAIK unix_socket is the only one right?
acceptable? | ||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2023-08-31 ] | ||||||||||||||||||||||||||||
|
For review: https://github.com/MariaDB/server/pull/2744 | ||||||||||||||||||||||||||||
| Comment by Hartmut Holzgraefe [ 2023-08-31 ] | ||||||||||||||||||||||||||||
|
unix_socket is the one I stumbled across, I don't have total overview of what plugins have changed from loadable to built-in over time | ||||||||||||||||||||||||||||
| Comment by Daniel Black [ 2023-08-31 ] | ||||||||||||||||||||||||||||
|
Per the PR, I made it generic. |