[groonga-dev,00813] mroonga 2.02クラッシュ

Back to archive index

河野 隆志 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*****>




groonga-dev メーリングリストの案内
Back to archive index