Details
-
Type:
Bug
-
Status: In Progress
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 10.0.16
-
Fix Version/s: None
-
Component/s: Storage Engine - XtraDB
-
Labels:
-
Environment:Red Hat Enterprise Linux
Description
DROP DATABASE IF EXSITS executed on database with more that several thousand tables and over several TBs data in it is unreasonably slow.
A huge amount of writing to disk has been observed too.
Crash description:
executed:
SET unique_checks = 0; SET foreign_key_checks = 0; SET GLOBAL innodb_stats_on_metadata = 0; DROP DATABASE IF EXISTS HUGE_TABLE'
InnoDB: Error: semaphore wait has lasted > 600 seconds InnoDB: We intentionally crash the server, because it appears to be hung. 2015-04-27 12:21:26 7f07de3ff700 InnoDB: Assertion failure in thread 139671770232576 in file srv0srv.cc line 2196 InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to http://bugs.mysql.com. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html InnoDB: about forcing recovery. 150427 12:21:26 [ERROR] mysqld got signal 6 ; 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 http://kb.askmonty.org/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.0.16-MariaDB-log key_buffer_size=53687091200 read_buffer_size=131072 max_used_connections=42 max_threads=402 thread_count=21 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 52900205 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x0x0 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... stack_bottom = 0x0 thread_stack 0x48000 /usr/sbin/mysqld(my_print_stacktrace+0x2b)[0xb73d3b] /usr/sbin/mysqld(handle_fatal_signal+0x398)[0x726518] /lib64/libpthread.so.0(+0xf710)[0x7f5096c43710] /lib64/libc.so.6(gsignal+0x35)[0x7f509529f625] /lib64/libc.so.6(abort+0x175)[0x7f50952a0e05] /usr/sbin/mysqld[0x936f9c] /lib64/libpthread.so.0(+0x79d1)[0x7f5096c3b9d1] /lib64/libc.so.6(clone+0x6d)[0x7f50953558fd] 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. 150427 12:48:54 mysqld_safe Number of processes running now: 0 150427 12:48:54 mysqld_safe mysqld restarted 150427 12:49:16 [Note] InnoDB: Using mutexes to ref count buffer pool pages 150427 12:49:16 [Note] InnoDB: The InnoDB memory heap is disabled 150427 12:49:16 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 150427 12:49:16 [Note] InnoDB: Memory barrier is not used 150427 12:49:16 [Note] InnoDB: Compressed tables use zlib 1.2.3 150427 12:49:16 [Note] InnoDB: Using Linux native AIO 150427 12:49:16 [Note] InnoDB: Using CPU crc32 instructions 150427 12:49:16 [Note] InnoDB: Initializing buffer pool, size = 225.0G 150427 12:49:27 [Note] InnoDB: Completed initialization of buffer pool 150427 12:49:29 [Note] InnoDB: Highest supported file format is Barracuda. 150427 12:49:29 [Note] InnoDB: Log scan progressed past the checkpoint lsn 277389716102041 150427 12:49:29 [Note] InnoDB: Database was not shutdown normally! 150427 12:49:29 [Note] InnoDB: Starting crash recovery. 150427 12:49:29 [Note] InnoDB: Reading tablespace information from the .ibd files... (END)
Please do not ignore the Feature Request for optimizing the DROP DATABASE operation, even this ticket is marked as a bug.
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
short update:
When interrupted long running DROP TABLE on huge /400 GB table/ the MariaDB instance crashed.
On recovery only the .frm file was there.
This was fixed by ALTER TABLE xxx DISCARD TABLESPACE ; DROP TABLE xxx;
This is quite important issue too.