[MDEV-27149] Add variable rocksdb_ignore_error to skip error at startup Created: 2021-12-01  Updated: 2022-01-21  Resolved: 2022-01-21

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - RocksDB
Affects Version/s: None
Fix Version/s: 10.2.42, 10.3.33, 10.4.23, 10.5.14, 10.6.6, 10.7.2

Type: Bug Priority: Major
Reporter: Richard Stracke Assignee: Sergei Petrunia
Resolution: Fixed Votes: 1
Labels: rocksdb

Issue Links:
Relates
Sub-Tasks:
Key
Summary
Type
Status
Assignee
MDEV-27267 Create a test case for MDEV-27149 Technical task Closed Sergei Petrunia  

 Description   

In some cases error avoids to let RocksDB start.
In this cases the only options is to restore a full backup , even if
the error is not critical like

[ERROR] RocksDB: Could not get index information for Index Number, (x,x) , table tablename
[ERROR] RocksDB: Failed to initialize DDL mananger
[ERROR] Plugin 'ROCKSDBÄ init function returned error.

So in some cases there should be a possibility to skip the error.

Suggestion:
Add variable

rocksdb_ignore_error

Simple Version wood be a boolean, maybe it makes also sense to create a ENUM for different error types.
Certainly default should be 0 or 'NONE'



 Comments   
Comment by Sergei Petrunia [ 2021-12-08 ]

Ok, the variable is named rocksdb_ignore_datadic_errors.

It can be only set as a server argument or in my.cnf.
Setting rocksdb_ignore_datadic_errors=1 will make the plugin to try to continue when seeing a class of MyRocks data dictionary errors that were experienced by the customer. (Note that this is NOT all kinds of errors. It is only "index definition is missing" error that can occur when a pre-10.6 server crashes in the middle of a DDL, as well as startup sanity check failure).

- If somebody wonders why these errors are now ignored and others are not: The issue is that some errors are hard to ignore. So I've picked a subset that is trivial to handle and is what we've observed in the customer' reports.

Comment by Sergei Petrunia [ 2021-12-08 ]

The branch with the fix is 10.4.13-7-myrocks-fixes in the Enterprise repo.

Comment by Sergei Petrunia [ 2021-12-08 ]

https://github.com/mariadb-corporation/MariaDBEnterprise/tree/10.4.13-7-myrocks-fixes

Generated at Thu Feb 08 09:50:43 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.