[groonga-dev,03328] Re: Mroonga 5.03 ストレージモードで MySQL 5.6 のレプリケーションが切断される

Back to archive index

yoku ts. yoku0****@gmail*****
2015年 7月 1日 (水) 16:35:54 JST


UPDATEで強制的に全カラムをSET句に詰め込まれるO/Rマッパーを使っている現場で働いているyoku0825です。

> UPDATEのSETにプライマリー
> キーを指定しているわけ、ではないですよねぇ、さすがに。

そういえば、このワーニングって何かよくない影響あったりしますか?

```
mysql> INSERT INTO t1 VALUES (1, 'one');
Query OK, 1 row affected (0.00 sec)

mysql> UPDATE t1 SET num = 1, val = 'one' WHERE num = 1;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> UPDATE t1 SET num = 1, val = 'two' WHERE num = 1;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1
```

というようなクエリーをマスターから投げると、レプリケーションスレーブの方で、
SQLスレッドしかテーブルを更新するやつはいないはずなのに
次のステートメントがgrn_io_lock_failedで転ける(3000msでタイムアウトする)という
再現性が微妙な現象が発生していたのを思い出しました。

START SLAVE sql_threadでそのまま起動できたので、ロックが突き刺さってるわけじゃなくて
ロックの開放が何故か遅延しているような感じだったんですが。。

何かよくない影響があれば教えてください :(


yoku0825,


2015年7月1日 15:29 Kouhei Sutou <kou****@clear*****>:
> 須藤です。
>
> In <20150****@domai*****>
>   "[groonga-dev,03314] Re: Mroonga 5.03 ストレージモードで MySQL 5.6 のレプリケーションが切断される" on Mon, 29 Jun 2015 13:42:22 +0900,
>   各務 洋 <kagam****@outwa*****> wrote:
>
>> 実はトピックから外れるかな?と思ったので書かなかったのですが、
>> data truncated for primary key column: <id>
>> って出て、Update 文が出来ない時があるのですが、IGNORE 付けると出来るの
>> です。
>> id は Update 対象じゃないんですけどね……。
>
> ソースを確認するとプライマリーキーなフィールドが書き込み対象
> に入っているときにそれがでそうです。UPDATEのSETにプライマリー
> キーを指定しているわけ、ではないですよねぇ、さすがに。
>
>> ひょっとしてストレージモードの Mroonga は 値の書き換えじゃなくて、削除
>> して追加をやっているのかなぁ!?
>
> いえ、書き換えています。
>
>
> --
> 須藤 功平 <kou****@clear*****>
> 株式会社クリアコード <http://www.clear-code.com/>
>
> Groongaベースの全文検索システムを総合サポート:
>   http://groonga.org/ja/support/
> パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
>   http://www.clear-code.com/recruitment/
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.osdn.me/mailman/listinfo/groonga-dev



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