kentoku
kento****@gmail*****
2013年 6月 12日 (水) 00:36:27 JST
斯波です。 > mysqldumpを使うときにロックを取得する設定になっています。 > ただし、INSERTがタイムアウトされるときは、mysqldumpが終わった10時間後な > ので、ロックが残らないはずですよね。何か他の原因になるものがありますか? > > 例えば、 > バックアップを作成中に、SELECT文がどんどん投げられて、 > mysqldumpが終わった10時間後のINSERT文がずっと待機の状況になることが > ありえるんですか? ないと思います。 ちょっと「Waiting for table level lock」が出ているときに、以下のコマンドで 他にどんなSQLがあるか確認してみて頂けませんでしょうか? mysql> show full processlist; > また、私のメールがメーリングリストに含まれているか確認していただけますか? > 今日の朝のメールを直接受信できなかったです。 メーリングリストの管理者に確認してみます。 どうぞ、よろしくお願いします。 2013年6月11日 20:03 <m-dob****@rozet*****>: > 斯波さん、 > > いつもお世話になっております。ドブリンです。 > ご返事ありがとうございます。 > > > はい。オプションによっては、mysqldumpでもロックを取得しますので、 > > それが原因になることも考えられます。どんなオプションをご利用でしょうか? > > また、INSERTがタイムアウトになるのは、バックアップを行っている時間と > > 重なっておりますでしょうか? > > mysqldumpを使うときにロックを取得する設定になっています。 > ただし、INSERTがタイムアウトされるときは、mysqldumpが終わった10時間後な > ので、ロックが残らないはずですよね。何か他の原因になるものがありますか? > > 例えば、 > バックアップを作成中に、SELECT文がどんどん投げられて、 > mysqldumpが終わった10時間後のINSERT文がずっと待機の状況になることが > ありえるんですか? > > また、私のメールがメーリングリストに含まれているか確認していただけますか? > 今日の朝のメールを直接受信できなかったです。 > > よろしくお願いします。 > ドブリン > > > > > > > > > > > > > -------- Original Message -------- > > Subject: Re: [groonga-dev,01483] "Waiting for table level lock"につい > て > > の質問 > > Date: Tue, 11 Jun 2013 02:46:53 +0900 > > From: kentoku <kento****@gmail*****> > > To: 全文検索エンジンGroonga開発メーリングリスト > > <groon****@lists*****> > > CC: t-kur****@rozet***** > > > > > > > > 斯波です。 > > > > > mroongaはInnoDbと同じように、行のロックをかけていると認識しています > が、 > > > それは合っていますか?もし行のロックを普通に使っているのであれば、 > > > どういうときにテーブルのロックがかかりますか? > > > > はい。InnoDBと全く同じという訳ではありませんが、行の更新の際には > > 行レベルでロックがかかります。 > > テーブルロックは、明示的にテーブルロックを行ったり、 > > テーブルの構造をalter tableなどで変更しようとした場合などにかかります。 > > > > > 毎日の夜中にmysqldumpでバックアップを取っているんですが、それが原因 > に > > > なる可能性がありますか? > > > > はい。オプションによっては、mysqldumpでもロックを取得しますので、 > > それが原因になることも考えられます。どんなオプションをご利用でしょうか? > > また、INSERTがタイムアウトになるのは、バックアップを行っている時間と > > 重なっておりますでしょうか? > > > > どうぞ、よろしくお願いいたします。 > > > > > > > > 2013年6月10日 16:37 <m-dob****@rozet***** <mailto:m-dob****@rozet*****>> > : > > > > 関係各位、 > > > > いつもお世話になっております。私はドブリン・マイケルと申します。 > > mroongaのテーブルロックの機能について質問があります。 > > > > mroongaのテーブルにINSERTしようとすると、タイムアウトが発生する場 > 合があ > > ります。テーブルのステータスを確認すると、下記のステータスになりま > す。 > > > > Waiting for table level lock > > > > mroongaはInnoDbと同じように、行のロックをかけていると認識していま > すが、 > > それは合っていますか?もし行のロックを普通に使っているのであれば、 > > どういうときにテーブルのロックがかかりますか? > > 毎日の夜中にmysqldumpでバックアップを取っているんですが、それが原 > 因に > > なる可能性がありますか? > > > > また、使っているテーブルはこの構造です。 > > mroongaのバージョンは「 3.0.1」です。 > > > > > > CREATE TABLE `MY_DATA` ( > > `id` int(11) NOT NULL, > > `task_id` varchar(40) DEFAULT NULL, > > `string_1` mediumtext, > > `string_2` mediumtext, > > PRIMARY KEY (`self_search_id`), > > KEY `index_task_id` (`task_id`), > > FULLTEXT KEY `index_one` (`string_1`) COMMENT 'parser " > TokenDelimit, > > FULLTEXT KEY `index_two` (`string_2`) COMMENT 'parser\n" > TokenDelimit"' > > ) ENGINE=mroonga DEFAULT CHARSET=utf8$$ > > > > > > もしアドバイスがあれば教えてください。 > > > > > > よろしくお願いします。 > > ドブリン マイケル > > > > _______________________________________________ > > groonga-dev mailing list > > groon****@lists***** > > <mailto:groon****@lists*****> > > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev > > > > > > > > > > >