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