[groonga-dev,04804] Re: [ii][update][one] failed to decode / failed to merge chunk / failed to flush a bufferが出たときについて

Back to archive index
Naoya Murakami visio****@gmail*****
2020年 5月 18日 (月) 19:55:58 JST


村上です。

自己レスばかりですいません。。

term_idはmax_idで&を取る仕様みたいで実際は171ですのでbufferは問題なさそうでした。
以下のgrn_p_dec()内のunpackで失敗しているみたいなのでやはりチャンクがおかしそうですね。
https://github.com/groonga/groonga/blob/6866ef08d386e63a7a26bae8fdaeb8f15a840ed9/lib/ii.c#L2237

壊し方を再現できたらまたご連絡いたします。

2020年5月18日(月) 19:13 Naoya Murakami <visio****@gmail*****>:

> 村上です。
>
> buffer_data->term->tidが2147483819でなぜか2GiBちょいですね。
> 実際のこれのlexiconのkey数は126447481で"9"というキーのlexicon上の_idは
> 171になりますが、bufferが壊れているのですかね。
>
> > select vgram_terms --filter '_key == "9"' --output_columns _id,_key
>
> [[0,1589796398.446896,0.01889300346374512],[[[1],[["_id","UInt32"],["_key","ShortText"]],[171,"9"]]]]
>
> やはりbufferが壊れるまでを再現できないと難しそうですかね。
>
> 2020年5月18日(月) 18:12 Naoya Murakami <visio****@gmail*****>:
>
>> 村上です。
>>
>> failed to decode / failed to merge chunk / failed to flush a bufferが出た場合、
>> 静的索引構築でチャンクを作り直すとエラーがでないようになるのですが、
>> このエラーはチャンクが壊れていることによるものでしょうか。
>>
>> たまにマージができなくなってしまうときがあるのでチャンクの再作成を
>> しています。
>>
>> 現状、同じ更新をすれば、必ずfailed to decodeになるデータベースは用意できますが、
>> 参考になりますかね。
>>
>> 最近ようやくバージョンを上げたところで2年前ぐらいのGroongaのコードベースで
>> updateしたものも含まれると思います。
>>
>> [ii][chunk][merge] failed to decode: <vgram_terms.description7>:
>> <"9">(2147483819)
>> [ii][buffer][merge] failed to merge chunk: <vgram_terms.description7>:
>> <"9">(2147483819): chunk:<987>, n-chunks:<9886>
>> [ii][update][one] failed to flush a buffer: <vgram_terms.description7>:
>> <62108274>:<1>:<178>: term:<"96">, segment:<4917148>, free:<4>,
>> required:<16>: [ii][buffer][merge] failed to merge chunk:
>> <vgram_terms.description7>: <"9">(2147483819): chunk:<987>, n-chunks:<9886>
>>
>> こうなるまでを再現できなければ、難しいようであれば再作成してしまいます。
>>
>> 以上、よろしくお願いします。
>>
>>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <https://lists.osdn.me/mailman/archives/groonga-dev/attachments/20200518/ef9ed9b5/attachment.html>


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