maria:bb-10.2-mdev25447

Last commit made on 2022-01-21
Get this branch:
git clone -b bb-10.2-mdev25447 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.2-mdev25447
Repository:
lp:maria

Recent commits

88ca656... by Sergey Petrunia

MDEV-25447: MyRocks use "tmpdir" rather than using "rocksdb_tmpdir"

- Move mysql_tmpfile_path() from inside InnoDB onto the SQL layer.
- Make MyRocks use it, like its upstream does.

c1d7b45... by Marko Mäkelä

MDEV-26870 --skip-symbolic-links does not disallow .isl file creation

The InnoDB DATA DIRECTORY attribute is not implemented via
symbolic links but something similar, *.isl files that contain
the names of data files.

InnoDB failed to ignore the DATA DIRECTORY attribute even though
the server was started with --skip-symbolic-links.

Native ALTER TABLE in InnoDB will retain the DATA DIRECTORY attribute
of the table, no matter if the table will be rebuilt or not.

Generic ALTER TABLE (with ALGORITHM=COPY) as well as TRUNCATE TABLE
will discard the DATA DIRECTORY attribute.

All tests have been run with and without the ./mtr option
--mysqld=--skip-symbolic-links
and some tests that use the InnoDB DATA DIRECTORY attribute
have been adjusted for this.

fa7a67f... by Sergey Petrunia

MDEV-27149: Add rocksdb_ignore_datadic_errors

Add a --rocksdb_ignore_datadic_errors plugin option for MyRocks.

The default is 0, and this means MyRocks will call abort() if it detects
a DDL mismatch.

Setting rocksdb_ignore_datadic_errors=1 makes MyRocks to try to ignore the
errors and allow to start the server for repairs.

ad88c42... by Sergey Petrunia

Avoid a crash on MyRocks data inconsistency.

In ha_rocksdb::open(), check if the number of indexes seen from the
SQL layer matches the number of indexes in the internal MyRocks data
dictionary.

Produce an error if there is a mismatch. (If we don't produce this error,
we are likely to crash as soon as we attempt to use an index)

d3143ef... by Monty <email address hidden>

Improve --help and remove not-free warnings for mysql_tzinfo_to_sql

9d4c0a6... by Monty <email address hidden>

Fixed compiler error in auth_pam plugin

Code copied from 10.6

0fd4d6d... by Monty <email address hidden>

MDEV-27068 running mariadb-upgrade in parallel make it hangs forever

MDEV-27107 prevent two mariadb-upgrade running in parallel
MDEV-27279 mariadb_upgrade add --check-if-upgrade-is-needed /
           restrict tests to major version

Code is based of pull request from Daniel Black, but with a several
extensions.

- mysql_upgrade now locks the mysql_upgrade file with my_lock()
  (Advisory record locking). This ensures that two mysql_upgrades
   cannot be run in parallel.
- Added --check-if-upgrade-is-needed to mysql_upgrade. This will return
  0 if one has to run mysql_upgrade.

Other changes:
- mysql_upgrade will now immediately exit if the major version and minor
  version (two first numbers in the version string) is same as last run.
  Before this change mysql_upgrade was run if the version string was different
  from last run.
- Better messages when there is no need to run mysql_upgrade.
- mysql_upgrade --verbose now prints out a lot more information about
  the version checking.
- mysql_upgrade --debug now uses default debug arguments if there is no
  option to --debug
- "MySQL" is renamed to MariaDB in the messages
- mysql_upgrade version increased to 2.0

Notes
Verifying "prevent two mariadb-upgrade running in parallel" was
done in a debugger as it would be a bit complex to do that in mtr.

Reviewer: Danial Black <email address hidden>

d28d3ae... by Dmitry Shulga <email address hidden>

MDEV-24827: Follow-up patch to fix the test main.mysql_client_test_nonblock

474c6df... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-27417 InnoDB spatial index updates change buffer bitmap page

 - InnoDB change buffer doesn't support spatial index. Spatial
index should avoid change the buffer bitmap page when the page
split happens.

7dcef65... by Dmitry Shulga <email address hidden>

MDEV-24827: Follow-up patch to fix compilation warning

Mixed declarations and code is not allowed for C90 so
fix it to avoid compilation break on some platforms.