河野 隆志
takas****@gmo-m*****
2012年 5月 7日 (月) 13:32:06 JST
河野です。 先日リリースされた2.02を運用中でしたが、Replicationを張っているSlaveで クラッシュが発生してしまいました。 環境構築後、24時間レプリケーションのみで様子を見た後、本番投入しました。 参照系クエリが来るようになりますが、かなり量は絞っていました。10qpsくら いです。 で、大体72時間後くらいに、以下エラーでクラッシュしてました。 mysqld自体は再起動したみたいですが、Error 'grn_io_lock failed' on query という事でレプリケーションは停止状態、手動でのクエリ実行も応答が返ってこ なくなる状態でした。 とりあえず復旧が出来なかったのでデータは破棄したので、新たに再構築中です。 再現テストは行ってみますが、何か心当たりはありますでしょうか? ちなみに環境は以下の通りです。 OS CentOS release 5.6 (Final) Kernel 2.6.18-238.19.1.el5 x86_64 mroonga 2.02 groonga 2.02 mysql 5.5.23 04:27:53 UTC - mysqld got signal 11 ; 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=134217728 read_buffer_size=2097152 max_used_connections=6 max_threads=500 thread_count=1 connection_count=1 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 5256779 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x16d243e0 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 = 41c6b0f8 thread_stack 0x30000 /usr/local/mysql5523/bin/mysqld(my_print_stacktrace+0x35)[0x79bb85] /usr/local/mysql5523/bin/mysqld(handle_fatal_signal+0x403)[0x66ac83] /lib64/libpthread.so.0[0x31f3a0eb10] /lib64/libc.so.6(memset+0x3b0)[0x31f2e7b1b0] /usr/local/groonga202/lib/libgroonga.so.0[0x2aaab30123ce] /usr/local/groonga202/lib/libgroonga.so.0(grn_ii_update_one+0xcc2)[0x2aaab3014b1e] /usr/local/groonga202/lib/libgroonga.so.0(grn_ii_column_update+0xa70)[0x2aaab3015d61] /usr/local/groonga202/lib/libgroonga.so.0(grn_column_index_update+0x32)[0x2aaab2f58ba1] /usr/local/mysql5523/lib/plugin/ha_mroonga.so(_ZN10ha_mroonga39storage_write_row_multiple_column_indexEPhjP6st_keyP8_grn_obj+0x116)[0x2aaab2d19320] /usr/local/mysql5523/lib/plugin/ha_mroonga.so(_ZN10ha_mroonga41storage_write_row_multiple_column_indexesEPhj+0x14e)[0x2aaab2d194de] /usr/local/mysql5523/lib/plugin/ha_mroonga.so(_ZN10ha_mroonga17storage_write_rowEPh+0x806)[0x2aaab2d19d16] /usr/local/mysql5523/bin/mysqld(_ZN7handler12ha_write_rowEPh+0x5c)[0x66fa7c] /usr/local/mysql5523/bin/mysqld(_Z12write_recordP3THDP5TABLEP12st_copy_info+0x261)[0x560531] /usr/local/mysql5523/bin/mysqld(_Z12mysql_insertP3THDP10TABLE_LISTR4ListI4ItemERS3_IS5_ES6_S6_15enum_duplicatesb+0xad7)[0x567017] /usr/local/mysql5523/bin/mysqld(_Z21mysql_execute_commandP3THD+0x14c7)[0x576c97] /usr/local/mysql5523/bin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x18a)[0x579fba] /usr/local/mysql5523/bin/mysqld(_ZN15Query_log_event14do_apply_eventEPK14Relay_log_infoPKcj+0xd5c)[0x71723c] /usr/local/mysql5523/bin/mysqld(_Z26apply_event_and_update_posP9Log_eventP3THDP14Relay_log_info+0x125)[0x515ed5] /usr/local/mysql5523/bin/mysqld[0x51b95a] /usr/local/mysql5523/bin/mysqld(handle_slave_sql+0xa7b)[0x51e59b] /lib64/libpthread.so.0[0x31f3a0673d] /lib64/libc.so.6(clone+0x6d)[0x31f2ed44bd] Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (2abafcf7fa16): REPLACE INTO table_name (hogehoge) Connection ID (thread ID): 2 Status: NOT_KILLED 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. Writing a core file 120505 13:27:57 mysqld_safe Number of processes running now: 0 120505 13:27:57 mysqld_safe mysqld restarted 120505 13:27:57 [Note] Plugin 'FEDERATED' is disabled. 120505 13:27:57 InnoDB: The InnoDB memory heap is disabled 120505 13:27:57 InnoDB: Mutexes and rw_locks use GCC atomic builtins 120505 13:27:57 InnoDB: Compressed tables use zlib 1.2.3 120505 13:27:57 InnoDB: Using Linux native AIO 120505 13:27:57 InnoDB: Initializing buffer pool, size = 2.0G 120505 13:27:57 InnoDB: Completed initialization of buffer pool 120505 13:27:57 InnoDB: highest supported file format is Barracuda. 120505 13:28:03 InnoDB: Waiting for the background threads to start 120505 13:28:04 InnoDB: 1.1.8 started; log sequence number 1595689 120505 13:28:04 [Warning] 'proxies_priv' entry '@ root @ db' ignored in --skip-name-resolve mode. 120505 13:28:04 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=dbs-relay-bin' to avoid this problem. 120505 13:28:04 [Note] Event Scheduler: Loaded 0 events 120505 13:28:04 [Note] /usr/local/mysql5523/bin/mysqld: ready for connections. Version: '5.5.23-log' socket: '/data/mroonga/mysql.sock' port: PORT MySQL Community Server (GPL) 120505 13:28:04 [Note] Slave SQL thread initialized, starting replication in log 'dbm-bin.000190' at position 1027294096, relay log './dbs-relay-bin.000005' position: 460579815 120505 13:28:04 [Note] Slave I/O thread: connected to master 'dbm @ hogehoge:PORT',replication started in log 'dbm-bin.000190' at position 1027435747 120505 19:07:25 [ERROR] Slave SQL: Error 'grn_io_lock failed' on query. Default database: 'tabe_name'. Query: 'REPLACE INTO table_name (hogehoge)', Error_code: 1026 以上、宜しくお願い致します。 -- 河野 隆志 <takas****@gmo-m*****>