diff options
author | Sergei Petrunia <sergey@mariadb.com> | 2022-01-20 22:52:41 +0300 |
---|---|---|
committer | Sergei Petrunia <sergey@mariadb.com> | 2022-01-21 09:31:16 +0300 |
commit | fa7a67ff499582fad6e4f1ff8198689325dee0dd (patch) | |
tree | 41792ac9e2ac607d260dd5e7f066ca7fa6d4ec25 /storage/rocksdb/rdb_datadic.cc | |
parent | ad88c428c50e86cd78da2a9ecd027add2f9d6ff9 (diff) | |
download | mariadb-git-bb-10.2-psergey.tar.gz |
MDEV-27149: Add rocksdb_ignore_datadic_errorsbb-10.2-psergey
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.
Diffstat (limited to 'storage/rocksdb/rdb_datadic.cc')
-rw-r--r-- | storage/rocksdb/rdb_datadic.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/storage/rocksdb/rdb_datadic.cc b/storage/rocksdb/rdb_datadic.cc index 31bc40b1df9..45bb665654c 100644 --- a/storage/rocksdb/rdb_datadic.cc +++ b/storage/rocksdb/rdb_datadic.cc @@ -5240,6 +5240,12 @@ void Rdb_dict_manager::log_start_drop_index(GL_INDEX_ID gl_index_id, "from index id (%u,%u). MyRocks data dictionary may " "get corrupted.", gl_index_id.cf_id, gl_index_id.index_id); + if (rocksdb_ignore_datadic_errors) + { + sql_print_error("RocksDB: rocksdb_ignore_datadic_errors=1, " + "trying to continue"); + return; + } abort(); } } |