Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.3.8
-
Windows
Description
When you launch MariaDB with ROCKSDB Engine and the both of following two options enabled:
- rocksdb_allow_mmap_reads = 1 # Default: 0 # Useful for SSD Disks.
- rocksdb_use_direct_reads=1 # Default: 0 # Useful for Spinning Disks
- rocksdb_use_direct_io_for_flush_and_compaction=1 # Default: 0 # Useful for Spinning Disks
- NOTE: * "allow_mmap_reads" cannot be used with "use_direct_reads" or "use_direct_io_for_flush_and_compaction"
- * "allow_mmap_writes" cannot be used with "use_direct_io_for_flush_and_compaction", i.e., they cannot be set to true at
- the same time.
YOU CAN ONLY ENABLE rocksdb_allow_mmap_reads OR rocksdb_use_direct_io_for_flush_and_compaction, NOT BOTH at the same time. Otherwise, a Server Crash Occurs. By being aware of this restriction, Server Crash is avoided!!!!
The Server Crashes. Here is the Error Log:
2018-07-30 14:39:34 0 [Note] RocksDB: 2 column families found
2018-07-30 14:39:34 0 [Note] RocksDB: Column Families at start:
2018-07-30 14:39:34 0 [Note] cf=default
2018-07-30 14:39:34 0 [Note] write_buffer_size=536870912
2018-07-30 14:39:34 0 [Note] target_file_size_base=134217728
2018-07-30 14:39:34 0 [Note] cf=_system_
2018-07-30 14:39:34 0 [Note] write_buffer_size=536870912
2018-07-30 14:39:34 0 [Note] target_file_size_base=134217728
2018-07-30 14:39:35 0 [Note] RocksDB: Table_store: loaded DDL data for 0 tables
2018-07-30 14:39:35 0 [Note] RocksDB: global statistics using thread_id_indexer_t indexer
2018-07-30 14:39:35 0 [Note] MyRocks storage engine plugin has been successfully initialized.
2018-07-30 14:39:35 0 [Note] Plugin 'InnoDB' is disabled.
2018-07-30 14:39:35 0 [Note] Plugin 'FEEDBACK' is disabled.
2018-07-30 14:39:35 0 [Note] Server socket created on IP: '::'.
2018-07-30 14:39:35 1 [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1286: Unknown storage engine 'InnoDB'
2018-07-30 14:39:35 0 [Note] Reading of all Master_info entries succeded
2018-07-30 14:39:35 0 [Note] Added new Master_info '' to hash table
2018-07-30 14:39:35 0 [Note] C:\Program Files\MariaDB 10.3\bin\mysqld.exe: ready for connections.
Version: '10.3.8-MariaDB' socket: '' port: 3306 mariadb.org binary distribution
2018-07-30 14:42:27 0 [Note] C:\Program Files\MariaDB 10.3\bin\mysqld.exe (initiated by: unknown): Normal shutdown
2018-07-30 14:42:27 0 [Note] Event Scheduler: Purging the queue. 0 events
2018-07-30 14:42:27 0 [ERROR] RocksDB: Error detected in background, Status Code: 2, Status: Corruption: Bad table magic number: expected 9863518390377041911, found 0 in ./#rocksdb/000045.sst
2018-07-30 14:42:27 0 [ERROR] RocksDB: BackgroundErrorReason: 1
2018-07-30 14:42:27 0 [Note] RocksDB: Creating the file ./#rocksdb/ROCKSDB_CORRUPTED to abort mysqld restarts. Remove this file from the data directory after fixing the corruption to recover.
180730 14:42:27 [ERROR] mysqld got exception 0xc0000005 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.
Server version: 10.3.8-MariaDB
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=0
max_threads=65537
thread_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 136181 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
mysqld.exe!my_sync()[my_sync.c:114]
ha_rocksdb.dll!???
ha_rocksdb.dll!???
ha_rocksdb.dll!???
ha_rocksdb.dll!???
ha_rocksdb.dll!???
ha_rocksdb.dll!???
ha_rocksdb.dll!???
ha_rocksdb.dll!???
ha_rocksdb.dll!???
ha_rocksdb.dll!???
KERNEL32.DLL!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
2018-07-30 14:42:29 0 [ERROR] RocksDB: There was a corruption detected in RockDB files. Check error log emitted earlier for more details.
2018-07-30 14:42:29 0 [ERROR] RocksDB: The server will exit normally and stop restart attempts. Remove ./#rocksdb/ROCKSDB_CORRUPTED file from data directory and start mysqld manually.
2018-07-30 14:48:11 0 [Note] RocksDB: 2 column families found
2018-07-30 14:48:11 0 [Note] RocksDB: Column Families at start:
2018-07-30 14:48:11 0 [Note] cf=default
2018-07-30 14:48:11 0 [Note] write_buffer_size=536870912
2018-07-30 14:48:11 0 [Note] target_file_size_base=134217728
2018-07-30 14:48:11 0 [Note] cf=_system_
2018-07-30 14:48:11 0 [Note] write_buffer_size=536870912
2018-07-30 14:48:11 0 [Note] target_file_size_base=134217728
2018-07-30 14:48:11 0 [Note] RocksDB: Table_store: loaded DDL data for 0 tables
2018-07-30 14:48:11 0 [ERROR] RocksDB: Error detected in background, Status Code: 2, Status: Corruption: Bad table magic number: expected 9863518390377041911, found 0 in ./#rocksdb/000045.sst
2018-07-30 14:48:11 0 [ERROR] RocksDB: BackgroundErrorReason: 1
2018-07-30 14:48:11 0 [Note] RocksDB: Creating the file ./#rocksdb/ROCKSDB_CORRUPTED to abort mysqld restarts. Remove this file from the data directory after fixing the corruption to recover.
180730 14:48:11 [ERROR] mysqld got exception 0xc0000005 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
To report this bug, see https://mariadb.com/kb/en/reporting-bugs