[MDEV-26794] MariaBackup does not recognize added providers upon prepare of incremental backup Created: 2021-10-09 Updated: 2021-10-27 Resolved: 2021-10-22 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | mariabackup, Plugins |
| Affects Version/s: | N/A |
| Fix Version/s: | 10.7.1 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Elena Stepanova | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
It looks like upon prepare of an incremental backup MariaBackup reads options (at least plugins) from the config file stored in the original full backup directory. So, if a provider was added since the original backup, MariaBackup cannot prepare tables compressed with the added algorithms. The MTR test case below simply hangs upon the 2nd prepare. If the output is redirected to a log, the last lines after which mariabackup hangs are
and the stack trace is
|
| Comments |
| Comment by Sergei Golubchik [ 2021-10-11 ] | ||||||||||||||||||||||||
|
these and similar errors are, of course, nothing new. one can build InnoDB with one set of compression libraries, use mariabackup with a different set of libraries and get the same effect. although, of course, plugins make it much easier to do inadvertently. | ||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2021-10-11 ] | ||||||||||||||||||||||||
|
Certainly. But using mariabackup built on a different system/with a different set of libraries would be such an extreme example of a "corner case" that it had no chance to be even looked at. | ||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2021-10-11 ] | ||||||||||||||||||||||||
|
| ||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2021-10-19 ] | ||||||||||||||||||||||||
|
wlad, could you review this please? I'm mainly interested in a second opinion whether this code change can have some unintended consequences. | ||||||||||||||||||||||||
| Comment by Vladislav Vaintroub [ 2021-10-19 ] | ||||||||||||||||||||||||
|
Hi serg, What I did not understand, is setting target_dir to incremental_dir in xtrabackup.cc. Why is it necessary? The test case needs a check for plugin presence, it failed for me on Windows, where non of the compression plugins are present. I'd suggest renaming encryption_plugin.cc and functions inside it, as it is no more about encryption. | ||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2021-10-22 ] | ||||||||||||||||||||||||
the rest is ok, will do | ||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2021-10-22 ] | ||||||||||||||||||||||||
|
pushed into the preview branch |