[groonga-dev,03849] Re: Mroonga で timestamp 型の index が破損するパターンがある(ストレージモード)(解決)

アーカイブの一覧に戻る

各務 洋 kagam****@outwa*****
2016年 1月 13日 (水) 13:27:36 JST


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

> ビルドしました!
> 
>   http://packages.groonga.org/tmp/mysql57-community-mroonga-5.12-1.el7.centos.x86_64.rpm

ありがとうございます。
ご教示いただきました通り、Ver.up だけで解消しているのを確認いたしました。


> シェルスクリプトで再現できるようにする、というのは再現する確
> 率が高くなってよさそうな気がしました。

そうですよねぇ。そこで再現手順を考える所で端緒があると助かるかなぁと思
うのです。
mroonga_log_level の設定で、もっともっとログを吐くと何か見つけられるか
もと思ったのですが、どうでしょうか?
(Disk I/O をログ出力に持っていかれて、DEBUG だと遅い!という位出て
も良いのかなぁと思いました。)

何があやしいか想像できると、シェル化もしやすいと思うのです。


>> 修正以前の場合でも、テーブルに更新が入ると概算見積も変わるのが期待され
>> る挙動だと思うのですが、一度のこの状態になると INSERT / DELETE で変わ
>> らなくなっていたように見受けられる点がちょっと気になりました。
> 
> それは、レコードを削除してもインデックスのキーは消えないから

!?!?最後の1つを消す以外は。でよいでしょうか?
それとももっと別のタイミングで消すのでしょうか?


> これが1000件続くと全体としても概算見積は0件になります。

これは分布がどうなっているかですよねぇ……。
Postgres だと 統計情報でどれくらいサンプリングすれば良いか計っているの
で気にする事はほぼないのですが。

ここが仮に精度上がったとしても MySQL の Planner でのメリットは無さそう
なので、見積0件でも1件と返すという事なのですね。

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




groonga-dev メーリングリストの案内
アーカイブの一覧に戻る