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

Back to archive index

Kouhei Sutou kou****@clear*****
2015年 7月 3日 (金) 21:58:57 JST


須藤です。

In <20150****@domai*****>
  "[groonga-dev,03330] Re: Mroonga 5.03 ストレージモードで MySQL 5.6 のレプリケーションが切断される(解決)" on Wed, 01 Jul 2015 17:01:58 +0900,
  各務 洋 <kagam****@outwa*****> wrote:

> 手元の仮想環境で、レプリケーションが切断されなくなるのを確認しました。

よかったです!
確認ありがとうございます!

>>> data truncated for primary key column: <id>
>>> って出て、Update 文が出来ない時があるのですが、IGNORE 付けると出来るの
>>> です。
>>> id は Update 対象じゃないんですけどね……。
>> 
>> ソースを確認するとプライマリーキーなフィールドが書き込み対象
>> に入っているときにそれがでそうです。UPDATEのSETにプライマリー
>> キーを指定しているわけ、ではないですよねぇ、さすがに。
> 
> はい。ないのです。

ですよねぇ。

>                   構造としては、
> 
> CREATE TABLE `tbl_test_pat_0005` (
> 	`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
> 	`t1_date` TIMESTAMP NOT NULL DEFAULT current_timestamp,
> 	`t2_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00',
> 	`a_id` BIGINT(20) NOT NULL Default 0,
> 	`t_text` LONGTEXT,
> 	PRIMARY KEY (`id`),
> 	UNIQUE KEY `a_id` (`a_id`),
> 	FULLTEXT INDEX `t_text` (`t_text` ) COMMENT 'normalizer "NormalizerMySQLUnicodeCIExceptKanaCIKanaWithVoicedSoundMark"'
> ) ENGINE=mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
> ;
> 
> これに、
> 
> UPDATE tbl_test_pat_0005 SET t2_date = '2015-07-01 00:00:00' WHERE a_id IN (1, 2, 3……)
> 
> のような UPDATE 文 で、WHERE は サブクエリーだったり、別のフィールドだ
> ったりしますが、いずれにせよ対象は複数件ある状態です。

うーん、クエリーの中にid(プライマリーキーのカラム)が入って
いないってことですよね?妙ですね。。。

> IGNORE つけて UPDATE すると、大抵複数の Warning がでますが、値は期待通
> り書き換わっています。
> 
> 1度 UPDATE が完了すると、同じSQLを再実行して対象件数が同じでもエラーが
> でないのを記憶しています。
> 
> ですので、なかなか再現手順が作れない状態なのです。

そうですか。。。
再現したら報告してもらえると助かります。


--
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/




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