mysql:5787
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Fri, 12 Jul 2002 09:14:34 +0900
Subject: [mysql 05787] MySQL 3.23.51 のレプリケーションがタイムアウトする
とみたです。 MySQL 3.23.51 で、レプリケーションを行なうと、30秒毎に次のようなメッセー ジがエラーファイルに出てきます。 020711 21:20:41 Error reading packet from server: (server_errno=1159) 020711 21:21:41 Slave: Failed reading log event, reconnecting to retry, log 'master-bin.001' position 114 020711 21:21:41 Slave: reconnected to master 'repl@master:3306',replication resumed in log 'master-bin.001' at position 114 レプリケーション自体はうまくできているのですが、エラーが鬱陶しいです。 mysqladmin variables で見ると slave_net_timeout は 3600 になっているの に、それが効いてなくて、net_read_timeout の 30 が有効になっているみた いです。 net_read_timeout を 3600 にしたとしても、マスタ側で更新がかからなけれ ば、結局一時間毎にエラーが出てしまうので、根本的な解決にはなってないよ うな…。 ソースを見てみたところ、3.23.49 では slave.cc は次のようになっていて、 タイムアウトは無視するようになっていたのですが、 while (!abort_loop && !abort_slave && len == packet_error && read_errno == EINTR ) { len = mc_net_safe_read(mysql); read_errno = errno; } 3.23.51 では単純に len = mc_net_safe_read(mysql); だけになっていて、タイムアウトエラー状態のまま次の処理にいくのが問題み たいです。 わざわざ変更したってことは何か意味があるんだと思うんですが、その意図が わかりません…。 とりあえず 3.23.49 を使うことにしました。 -- とみたまさひろ <tommy@xxxxxxxxxx> 日本MySQLユーザ会 http://www.mysql.gr.jp
-> 5787 2002-07-12 09:14 [とみたまさひろ <tomm] MySQL 3.23.51 のレプリケーションがタイムアウトする 5949 2002-08-17 22:39 ┗[とみたまさひろ <tomm]