BloGroonga

2021-08-29

Groonga 11.0.6リリース

Groonga 11.0.6をリリースしました!

それぞれの環境毎のインストール方法: インストール

重要なお知らせ

Groonga 11.0.6 には、Hashテーブルに新しいエントリーを追加できなくなることがある問題があります。

この問題は、Groonga 11.0.7で修正しました。この問題は、Groonga 11.0.6でのみ発生します。 したがって、Groonga 11.0.6をお使いの方は、Groonga 11.0.7以降を使うことを強くおすすめします。

変更内容

主な変更点は以下の通りです。

改良

  • クラッシュ時に自動でリカバリーする機能を追加しました。(実験的な機能です。)

    この機能は実験的な機能です。現状、この機能はまだ安定していません。

    この機能によって、Groongaがクラッシュした時、Groongaはクラッシュした後、 最初のデータベースオープン時に自動的にデータベースをリカバリーします。 ただ、全てのクラッシュケースで自動的にデータベースをリカバリーできるわけではありません。 クラッシュのタイミングによっては、手動でデータベースのリカバリーが必要になります。

  • cache_limit cache_limit 0 を実行したときにキャッシュを削除するようにしました。

    Groongaは内部的なテーブルにクエリーキャッシュを保存しています。 このテーブルは、ハッシュテーブルなので、トータルのキーサイズは最大で4GiBです。 そのため、もし多くの巨大なクエリーを実行した場合、トータルのキーサイズの最大値4GiBを超え、Groongaがクエリーをキャッシュできない可能性があります。 このようなケースで、 cache_limit 0 を実行することで、クエリーキャッシュ用のテーブルをクリアーし、 Groongaがクエリーキャッシュを保存できるようにします。

修正

  • 同時期に複数のスレッドで同じオブジェクトをオープンした時に、Groongaがロックを解除しない問題を修正しました。

  • query_parallel_or query() と結果が異なることがある問題を修正しました。

    例えば、 query("tags || tags2", "beginner man") とした場合は、以下のレコードはマッチしますが、 query_parallel_or("tags || tags2", "beginner man") とした場合は、今までは、以下のレコードはマッチしませんでした。

    {"_key": "Bob",   "comment": "Hey!",       "tags": ["expert", "man"], "tags2": ["beginner"]}
    

    今回の変更によって、 query_parallel_or("tags || tags2", "beginner man") を使った場合であっても、 上記のレコードがマッチするようになりました。

既知の問題

  • 現在Groongaには、ベクターカラムに対してデータを大量に追加、削除、更新した際にデータが破損することがある問題があります。

  • [ブラウザーベースの管理ツール] 現在Groongaには、レコード一覧の管理モードのチェックボックスにチェックを入れても、非管理モードに入力された検索クエリーが送信されるという問題があります。

  • *<*> は、filter条件の右辺に query() を使う時のみ有効です。もし、以下のように指定した場合、 *<*>&& として機能します。

    • 'content @ "Groonga" *< content @ "Mroonga"'
  • GRN_II_CURSOR_SET_MIN_ENABLE が原因でマッチするはずのレコードを返さないことがあります。

さいごに

詳細については、以下のお知らせも参照してください。

お知らせ 11.0.6リリース

それでは、Groongaでガンガン検索してください!