各務 洋
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*****