[groonga-dev,03597] Re: Mroonga_で_data_truncated_for_primary_key_column: <id> が発生する

Back to archive index

各務 洋 kagam****@outwa*****
2015年 10月 26日 (月) 20:26:18 JST


お世話になります、各務です。

>> 2.ユニークインデックスの破損は発生します。
> 
> すみません、これの判断基準をおしえてもらえますか?

DELETE しても INSERT 出来なくなる。というシンプルなものです。
[groonga-dev,03556] で書かせていただいた方法で、確認用の処理を、

while true; do mysql -D db_teste4 -s -e "SELECT (SELECT current_timestamp) AS '', id AS '', a_id AS '' FROM tbl_test_pat_0005; SELECT '--' AS ''";done; 

で kill も込みで回しつづけていると、その内どちらかの Unique Key 分の 
id が increment されなくなり、挿入側も、

ERROR 1062 (23000) at line 1: Duplicate entry '10001' for key 'a_id'

と出続けるようになります。(10001 か 10002 かはその時々)
実際にその値があるか無いかはあまり関係なく、Index だけが残るようです。


上記の状態で、

ALTER TABLE テーブル名 Engine Mroonga; 

で修復をかけていると、その内 a_id と 主キー に 0 が 入ったレコードがい
つでも見られるようになります。(DELETE/INSERT を停止していても )
これが作られると頻繁に Duplicate entry が発生するようになります。
(但し、値としては重複していません)


> ユニークインデックスを張ったカラムの値が0になっているカラム
> が複数見える、という感じでしょうか?

5.08では見えましたが、今の5.09候補では複数の0は見えなくなっています。


>> 3.groonga.log に Auto repair is done は出現しませんでした。
> 
> やはりそうですよねぇ。
> いや、でも、と思ってソースを確認したらバグっていました。。。
> 
> パッケージを作り直すのでそっちで確認してもらえるとうれしいで
> す。。。

おぉ、分かって良かったです。
ありがとうございます、明日確認してみます。


P.S
矢田さんの報告にある、これも気にはなっているのですが……。
https://github.com/groonga/groonga/issues/421


----
各務
kagam****@outwa*****




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