| Bug #58031 | temp file full | ||
|---|---|---|---|
| Submitted: | 6 Nov 2010 15:22 | Modified: | 30 Nov 2010 11:19 |
| Reporter: | patcharee sirichavalit | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server: General | Severity: | S1 (Critical) |
| Version: | 5.1.48 | OS: | Linux |
| Assigned to: | CPU Architecture: | Any | |
[6 Nov 2010 15:30]
patcharee sirichavalit
Is it bug ?
[6 Nov 2010 15:38]
Peter Laursen
Has MySQL crashed for you frequently? MySQL will normally clean up its temporary tables, but if it crashes it cannot of course. Do you have HUGE views or do you execute SELECT .. JOIN queries or SUBQUERIES building such temporary tables (I see some are ~15 GB, what is a lot). My guess is that you write some very bad queries ... Peter (not a MySQL person)
[7 Nov 2010 11:10]
patcharee sirichavalit
Thank you Peter My problem will occur after backup . my backup run success and i saw script already unlock table. Anyway after that around 40 minute , temp full by #sqlXXX.MYI and #sqlXXX.MYD and It's not clear and make temp full. If i not backup ,this problem not occur. Is it a bug?
[7 Nov 2010 11:40]
Peter Laursen
then you should tell what backup too you are using!
[7 Nov 2010 12:21]
patcharee sirichavalit
My backup is 1) FLUSH TABLES WITH READ LOCK 2) copy mysql file 3)UNLOCK TABLES 4) exit
[10 Nov 2010 3:29]
patcharee sirichavalit
Hi All, Please help to answer me . Is it a bug ? and how to solve it ?
[10 Nov 2010 21:49]
Sveta Smirnova
Thank you for the feedback. Please send us output of SHOW FULL PROCESSLIST in time when temporary directory is full and full MySQL error log file.
[11 Nov 2010 18:22]
patcharee sirichavalit
when i show processlist it up from 80 to 600 After that it down to 50 -60 and up again but for temp file it not reduce ,it only up
[11 Nov 2010 18:23]
patcharee sirichavalit
mysql> show processlist; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> show processlist; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 1016 Current database: *** NONE *** +------+------+-----------+------+---------+------+-------+-- ----------------+ | Id | User | Host | db | Command | Time | State | Info | +------+------+-----------+------+---------+------+-------+-- ----------------+ | 1016 | root | localhost | NULL | Query | 0 | NULL | show processlist | +------+------+-----------+------+---------+------+-------+-- ----------------+ 1 row in set (0.00 sec)
[11 Nov 2010 18:25]
patcharee sirichavalit
i found Creating tmp table and Copying to tmp table a lot
[11 Nov 2010 18:47]
Sveta Smirnova
Thank you for the feedback. About 100 threads can easily create a lot of temporary files. As modification/creation time is almost same for every file looks like everything work fine. Error log shows mysqld crashed, because disk was full. After such crash temporary directory can contain stalled files. So this is not a bug. Use larger disks for temporary directory and read about how to tune queries to avoid filesort.
[12 Nov 2010 2:36]
patcharee sirichavalit
Hi all, If i not run backup , mysql is not create temp file on disk although session is high to 2000 . it occur only after i backup mysql success and unlock success . and if i restart mysql ,everything back to normal . it not create temp file on disk again . So why mysql do like this if it not a bug ?
[12 Nov 2010 2:40]
patcharee sirichavalit
i think mysql have some bug about unlock command that make mysql try to use temp file on disk ,is it possible ?
[12 Nov 2010 19:23]
Sveta Smirnova
Thank you for the feedback. Everything is possible, but having a lot of temporary files created during query executions itself is not a bug.
[15 Nov 2010 3:35]
patcharee sirichavalit
so please describe why same query not create temp file before backup ?
[15 Nov 2010 21:44]
Sveta Smirnova
We're sorry, but the bug system is not the appropriate forum for asking help on using MySQL products. Your problem is not the result of a bug. Support on using our products is available both free in our forums at http://forums.mysql.com/ and for a reasonable fee direct from our skilled support engineers at http://www.mysql.com/support/ Thank you for your interest in MySQL.
[16 Nov 2010 1:59]
patcharee sirichavalit
I mean If you think it not a bug why it have temp file after i run command unlock . If it not a bug , it should not have any temp file after i run command unlock. I run same query before and after use unlock command But it have temp file only after use unlock command. And after i restart mysql , temp file not occur again . So please consider about it
[16 Nov 2010 10:50]
Sveta Smirnova
Thank you for the feedback. This still looks like expected behavior: MySQL creates a lot of temporary files to handle your queries. If queries were waiting in queue before you issued UNLOCK command it is expected MySQL server created a lot of temporary files when queries unlocked and started to execute. If you disagree you have to prove it by providing repeatable test case which clearly shows problem in MySQL code.
[16 Nov 2010 10:59]
patcharee sirichavalit
i already test and i can say step like this 1. i use command " flush table with read lock" 2. i run query 3. i unlock table 4. i see query already gone and i run new query 5. this query already create temp file 6. query already gone 7. new query come 8. this query create temp file . 9. step like 7 -8 until disk 90 GB full query since step 4 is new query after unlock table . But why it still create temp file ? If you said it's normal , it should not crate temp file if it not suspend from lock query ,right?
[16 Nov 2010 11:09]
Sveta Smirnova
Thank you for the feedback. > query since step 4 is new query after unlock table . > But why it still create temp file ? This depends from query. If temporary file is needed for query execution it is created. > If you said it's normal , it should not crate temp file if it not suspend from lock query ,right? This does not related to locks at all.
[16 Nov 2010 11:23]
patcharee sirichavalit
If i run only same query before and after lock table and query that i run before lock table not create temp file . but after unlock , i run same query and i saw it gone by create temp file . and i run new ( same query ) and it create temp . You still said it not a bug ,right?
[16 Nov 2010 11:36]
Sveta Smirnova
Thank you for the feedback. Please provide problem query, dump of all underlying tables and your configuration file.
[28 Nov 2010 14:31]
patcharee sirichavalit
Please provide problem query, dump of all underlying tables and your configuration file. Seem you don't understand It not cause from query so it not have certainly query that make mysql temp full. anyway i will upload my config file to you . and in error log said report this error to mysql bug Thanks
[28 Nov 2010 14:42]
patcharee sirichavalit
total used free shared buffers cached Mem: 16047 1910 14137 0 4 93 -/+ buffers/cache: 1812 14235 Swap: 18044 1 18043 hope this help
[29 Nov 2010 11:47]
Susanne Ebrecht
I also don't see a bug here. Please ask at http://forums.mysql.com for help.
[30 Nov 2010 1:58]
patcharee sirichavalit
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.1/en/forcing-recovery.html InnoDB: about forcing recovery. 101130 2:21:44 - 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. 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. key_buffer_size=402653184 read_buffer_size=2097152 max_used_connections=1440 max_threads=20000 threads_connected=538 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 82519309 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. thd: 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... stack_bottom = (nil) thread_stack 0x40000 /usr/sbin/mysqld(my_print_stacktrace+0x3a)[0x825eba] /usr/sbin/mysqld(handle_segfault+0x1fb)[0x5bb9bb] /lib64/libpthread.so.0[0x367620e7c0] /lib64/libc.so.6(gsignal+0x35)[0x3675a30265] /lib64/libc.so.6(abort+0x110)[0x3675a31d10] /usr/sbin/mysqld[0x77aad4] /usr/sbin/mysqld(fil_flush+0x1fe)[0x74cc1e] /usr/sbin/mysqld(log_write_up_to+0x6ef)[0x76c97f] /usr/sbin/mysqld(log_buffer_flush_to_disk+0x8a)[0x76ca9a] /usr/sbin/mysqld(srv_master_thread+0x1b3)[0x7a8b63] /lib64/libpthread.so.0[0x36762064a7] /lib64/libc.so.6(clone+0x6d)[0x3675ad3c2d] so that mean it's not a bug ,right? If you confirm , it's not a bug . I will paid for mysql service to solve this case.
[30 Nov 2010 2:00]
patcharee sirichavalit
Please comfirm to me it's bug or not . But if mysql service said ,it's cause from bug. I will not have to paid for Mysql service ,right?
[30 Nov 2010 11:19]
Sveta Smirnova
Thank you for the feedback. > Seem you don't understand ... > It not cause from query so it not have certainly query that make mysql temp full. We need test case which we can repeat on our side. If this problem is repeatable on your side please send such test case. Otherwise problem with temporarily tables can not be considered as a bug. Regarding to crash this is different case. Please open new bug report for this.

Description: i found temp folder full because of -rw-rw---- 1 mysql mysql 1024 Nov 6 21:57 #sql_3e3_163.MYI -rw-rw---- 1 mysql mysql 536870912 Nov 6 21:57 ib_logfile0 -rw-rw---- 1 mysql mysql 260341760 Nov 6 21:58 #sql_3e3_114.MYD -rw-rw---- 1 mysql mysql 41619456 Nov 6 21:58 #sql_3e3_130.MYD -rw-rw---- 1 mysql mysql 952762368 Nov 6 21:58 #sql_3e3_43.MYD -rw-rw---- 1 mysql mysql 1574404096 Nov 6 21:58 #sql_3e3_16.MYD -rw-rw---- 1 mysql mysql 133595136 Nov 6 21:58 #sql_3e3_122.MYD -rw-rw---- 1 mysql mysql 398458880 Nov 6 21:58 #sql_3e3_83.MYD -rw-rw---- 1 mysql mysql 849379328 Nov 6 21:58 #sql_3e3_52.MYD -rw-rw---- 1 mysql mysql 1396178944 Nov 6 21:58 #sql_3e3_20.MYD -rw-rw---- 1 mysql mysql 448204800 Nov 6 21:58 #sql_3e3_74.MYD -rw-rw---- 1 mysql mysql 487620608 Nov 6 21:58 #sql_3e3_68.MYD -rw-rw---- 1 mysql mysql 265363456 Nov 6 21:58 #sql_3e3_115.MYD -rw-rw---- 1 mysql mysql 314638336 Nov 6 21:58 #sql_3e3_102.MYD -rw-rw---- 1 mysql mysql 294551552 Nov 6 21:58 #sql_3e3_105.MYD -rw-rw---- 1 mysql mysql 536870912 Nov 6 21:58 ib_logfile1 -rw-rw---- 1 mysql mysql 826277888 Nov 6 21:58 #sql_3e3_0.MYD -rw-rw---- 1 mysql mysql 338862080 Nov 6 21:58 #sql_3e3_95.MYD -rw-rw---- 1 mysql mysql 20541440 Nov 6 21:58 #sql_3e3_133.MYD -rw-rw---- 1 mysql mysql 1083338752 Nov 6 21:58 #sql_3e3_41.MYD -rw-rw---- 1 mysql mysql 320569344 Nov 6 21:58 #sql_3e3_100.MYD -rw-rw---- 1 mysql mysql 1198325760 Nov 6 21:58 #sql_3e3_28.MYD -rw-rw---- 1 mysql mysql 580878336 Nov 6 21:58 #sql_3e3_58.MYD -rw-rw---- 1 mysql mysql 1084751872 Nov 6 21:58 #sql_3e3_42.MYD -rw-rw---- 1 mysql mysql 1356038144 Nov 6 21:58 #sql_3e3_31.MYD -rw-rw---- 1 mysql mysql 271781888 Nov 6 21:58 #sql_3e3_111.MYD -rw-rw---- 1 mysql mysql 343670784 Nov 6 21:58 #sql_3e3_93.MYD -rw-rw---- 1 mysql mysql 275742720 Nov 6 21:58 #sql_3e3_104.MYD -rw-rw---- 1 mysql mysql 1394016256 Nov 6 21:58 #sql_3e3_21.MYD -rw-rw---- 1 mysql mysql 356093952 Nov 6 21:58 #sql_3e3_89.MYD -rw-rw---- 1 mysql mysql 145784832 Nov 6 21:58 #sql_3e3_117.MYD -rw-rw---- 1 mysql mysql 939655168 Nov 6 21:58 #sql_3e3_45.MYD -rw-rw---- 1 mysql mysql 295272448 Nov 6 21:58 #sql_3e3_106.MYD -rw-rw---- 1 mysql mysql 867762176 Nov 6 21:58 #sql_3e3_51.MYD -rw-rw---- 1 mysql mysql 461287424 Nov 6 21:58 #sql_3e3_71.MYD -rw-rw---- 1 mysql mysql 1398538240 Nov 6 21:58 #sql_3e3_24.MYD -rw-rw---- 1 mysql mysql 346783744 Nov 6 21:58 #sql_3e3_92.MYD -rw-rw---- 1 mysql mysql 197165056 Nov 6 21:58 #sql_3e3_113.MYD -rw-rw---- 1 mysql mysql 374804480 Nov 6 21:58 #sql_3e3_87.MYD -rw-rw---- 1 mysql mysql 74387456 Nov 6 21:58 #sql_3e3_126.MYD -rw-rw---- 1 mysql mysql 1340837888 Nov 6 21:58 #sql_3e3_32.MYD -rw-rw---- 1 mysql mysql 332464128 Nov 6 21:58 #sql_3e3_99.MYD -rw-rw---- 1 mysql mysql 444628992 Nov 6 21:58 #sql_3e3_76.MYD -rw-rw---- 1 mysql mysql 640450560 Nov 6 21:58 #sql_3e3_48.MYD -rw-rw---- 1 mysql mysql 1343885312 Nov 6 21:58 #sql_3e3_34.MYD -rw-rw---- 1 mysql mysql 1396572160 Nov 6 21:58 #sql_3e3_18.MYD -rw-rw---- 1 mysql mysql 573833216 Nov 6 21:58 #sql_3e3_61.MYD -rw-rw---- 1 mysql mysql 1322549248 Nov 6 21:58 #sql_3e3_36.MYD -rw-rw---- 1 mysql mysql 1455915008 Nov 6 21:58 #sql_3e3_17.MYD -rw-rw---- 1 mysql mysql 1356234752 Nov 6 21:58 #sql_3e3_27.MYD -rw-rw---- 1 mysql mysql 90669056 Nov 6 21:58 #sql_3e3_124.MYD -rw-rw---- 1 mysql mysql 276856832 Nov 6 21:58 #sql_3e3_109.MYD -rw-rw---- 1 mysql mysql 253820928 Nov 6 21:58 #sql_3e3_116.MYD -rw-rw---- 1 mysql mysql 318668800 Nov 6 21:58 #sql_3e3_101.MYD -rw-rw---- 1 mysql mysql 344293376 Nov 6 21:58 #sql_3e3_96.MYD -rw-rw---- 1 mysql mysql 480280576 Nov 6 21:58 #sql_3e3_69.MYD -rw-rw---- 1 mysql mysql 1154875392 Nov 6 21:58 #sql_3e3_33.MYD -rw-rw---- 1 mysql mysql 287834112 Nov 6 21:58 #sql_3e3_107.MYD -rw-rw---- 1 mysql mysql 439984128 Nov 6 21:58 #sql_3e3_78.MYD -rw-rw---- 1 mysql mysql 1356201984 Nov 6 21:58 #sql_3e3_29.MYD -rw-rw---- 1 mysql mysql 1248149504 Nov 6 21:58 #sql_3e3_39.MYD -rw-rw---- 1 mysql mysql 1365139456 Nov 6 21:58 #sql_3e3_25.MYD -rw-rw---- 1 mysql mysql 238796800 Nov 6 21:58 #sql_3e3_119.MYD -rw-rw---- 1 mysql mysql 1293451264 Nov 6 21:58 #sql_3e3_4.MYD -rw-rw---- 1 mysql mysql 583630848 Nov 6 21:58 #sql_3e3_53.MYD -rw-rw---- 1 mysql mysql 502824960 Nov 6 21:58 #sql_3e3_50.MYD -rw-rw---- 1 mysql mysql 410386432 Nov 6 21:58 #sql_3e3_84.MYD -rw-rw---- 1 mysql mysql 583041024 Nov 6 21:58 #sql_3e3_57.MYD -rw-rw---- 1 mysql mysql 674799616 Nov 6 21:58 #sql_3e3_11.MYD -rw-rw---- 1 mysql mysql 346062848 Nov 6 21:58 #sql_3e3_94.MYD -rw-rw---- 1 mysql mysql 1381892096 Nov 6 21:58 #sql_3e3_23.MYD -rw-rw---- 1 mysql mysql 1363120128 Nov 6 21:58 #sql_3e3_22.MYD -rw-rw---- 1 mysql mysql 1372717056 Nov 6 21:58 #sql_3e3_26.MYD -rw-rw---- 1 mysql mysql 455213056 Nov 6 21:58 #sql_3e3_73.MYD -rw-rw---- 1 mysql mysql 769654784 Nov 6 21:58 #sql_3e3_6.MYD -rw-rw---- 1 mysql mysql 436240384 Nov 6 21:58 #sql_3e3_77.MYD -rw-rw---- 1 mysql mysql 540241920 Nov 6 21:58 #sql_3e3_62.MYD -rw-rw---- 1 mysql mysql 444633088 Nov 6 21:58 #sql_3e3_79.MYD -rw-rw---- 1 mysql mysql 911609856 Nov 6 21:58 #sql_3e3_46.MYD -rw-rw---- 1 mysql mysql 310542336 Nov 6 21:58 #sql_3e3_103.MYD -rw-rw---- 1 mysql mysql 1388085248 Nov 6 21:58 #sql_3e3_19.MYD -rw-rw---- 1 mysql mysql 608468992 Nov 6 21:58 #sql_3e3_56.MYD -rw-rw---- 1 mysql mysql 803401728 Nov 6 21:58 #sql_3e3_5.MYD -rw-rw---- 1 mysql mysql 471760896 Nov 6 21:58 #sql_3e3_70.MYD -rw-rw---- 1 mysql mysql 514002944 Nov 6 21:58 #sql_3e3_66.MYD -rw-rw---- 1 mysql mysql 1273262080 Nov 6 21:58 #sql_3e3_38.MYD -rw-rw---- 1 mysql mysql 62894080 Nov 6 21:58 #sql_3e3_125.MYD -rw-rw---- 1 mysql mysql 335347712 Nov 6 21:58 #sql_3e3_97.MYD -rw-rw---- 1 mysql mysql 429260800 Nov 6 21:58 #sql_3e3_80.MYD -rw-rw---- 1 mysql mysql 675282944 Nov 6 21:58 #sql_3e3_9.MYD -rw-rw---- 1 mysql mysql 350814208 Nov 6 21:58 #sql_3e3_90.MYD -rw-rw---- 1 mysql mysql 61800448 Nov 6 21:58 #sql_3e3_127.MYD -rw-rw---- 1 mysql mysql 1039220736 Nov 6 21:58 #sql_3e3_44.MYD -rw-rw---- 1 mysql mysql 400588800 Nov 6 21:58 #sql_3e3_86.MYD -rw-rw---- 1 mysql mysql 62914560 Nov 6 21:58 #sql_3e3_129.MYD -rw-rw---- 1 mysql mysql 827916288 Nov 6 21:58 #sql_3e3_54.MYD -rw-rw---- 1 mysql mysql 52559872 Nov 6 21:58 #sql_3e3_128.MYD -rw-rw---- 1 mysql mysql 95354880 Nov 6 21:58 #sql_3e3_120.MYD -rw-rw---- 1 mysql mysql 142671872 Nov 6 21:58 #sql_3e3_121.MYD -rw-rw---- 1 mysql mysql 1149304832 Nov 6 21:58 #sql_3e3_40.MYD -rw-rw---- 1 mysql mysql 739483648 Nov 6 21:58 #sql_3e3_8.MYD -rw-rw---- 1 mysql mysql 263892992 Nov 6 21:58 #sql_3e3_118.MYD -rw-rw---- 1 mysql mysql 111706112 Nov 6 21:58 #sql_3e3_123.MYD -rw-rw---- 1 mysql mysql 418480128 Nov 6 21:58 #sql_3e3_81.MYD -rw-rw---- 1 mysql mysql 453345280 Nov 6 21:58 #sql_3e3_75.MYD -rw-rw---- 1 mysql mysql 515637248 Nov 6 21:58 #sql_3e3_64.MYD -rw-rw---- 1 mysql mysql 258793472 Nov 6 21:58 #sql_3e3_110.MYD -rw-rw---- 1 mysql mysql 1326317568 Nov 6 21:58 #sql_3e3_30.MYD -rw-rw---- 1 mysql mysql 1329266688 Nov 6 21:58 #sql_3e3_37.MYD -rw-rw---- 1 mysql mysql 321716224 Nov 6 21:58 #sql_3e3_98.MYD -rw-rw---- 1 mysql mysql 1326743552 Nov 6 21:58 #sql_3e3_35.MYD -rw-rw---- 1 mysql mysql 600088576 Nov 6 21:58 #sql_3e3_55.MYD -rw-rw---- 1 mysql mysql 14188544 Nov 6 21:58 #sql_3e3_132.MYD -rw-rw---- 1 mysql mysql 23691264 Nov 6 21:58 #sql_3e3_131.MYD -rw-rw---- 1 mysql mysql 889901056 Nov 6 21:58 #sql_3e3_49.MYD -rw-rw---- 1 mysql mysql 685576192 Nov 6 21:58 #sql_3e3_10.MYD -rw-rw---- 1 mysql mysql 350224384 Nov 6 21:58 #sql_3e3_91.MYD -rw-rw---- 1 mysql mysql 417398784 Nov 6 21:58 #sql_3e3_82.MYD -rw-rw---- 1 mysql mysql 375164928 Nov 6 21:58 #sql_3e3_88.MYD -rw-rw---- 1 mysql mysql 503349248 Nov 6 21:58 #sql_3e3_67.MYD MysqlLog 84934656 84934656 0 100% /mysql_log How to repeat: backup or query data