[groonga-dev,03438] [ANN] Groonga 5.0.7

Back to archive index

Kouhei Sutou kou****@clear*****
2015年 8月 31日 (月) 14:07:04 JST


須藤です。

肉の日は過ぎ去ってしまいましたが、Groonga 5.0.7をリリースし
ました!

  http://groonga.org/ja/blog/2015/08/31/release.html

このリリースについて説明します。

○ 条件に該当する人はアップグレード推奨

このリリースでは「静的インデックス構築」のバグフィックスが含
まれています。このバグが発生すると、ヒットするべきでないレコー
ドがヒットする(誤ヒット)、あるいは、ヒットするべきレコード
がヒットしない(検索漏れ)、という現象が発生します。

そのため、次のすべての条件に当てはまる方はアップグレードを推
奨します。自分の使い方を確認してください。

  * マルチカラムインデックス(WITH_SECTIONフラグ付きのインデッ
    クスカラム)を使っている
  * 静的なインデックス構築方法を使っている


なお、現在バグが発生したインデックスがある場合、アップグレー
ドしてインデックスを作りなおすことで問題は解決します。データ
の再投入は必要ありません。


○ WindowsでのGroongaユーザーにお願い

WindowsでGroongaを使っている方にお願いがあります。

このリリースではWindowsで「スパースファイル」というものを使
う機能が入っています。「スパースファイル」を使うと次の効果を
期待できますが、いくつか懸念点があるので、デフォルトでは無効
になっています。効果が確認できて、懸念が払拭できればデフォル
トで有効にする予定なので、お手持ちのデータで実際に試してみて、
その結果を教えてもらえないでしょうか?

期待する効果:

  * データベースの使用ディスクサイズが減少

懸念点:

  * パフォーマンスが劣化しない?
  * メモリー使用量(特に仮想メモリー使用量)が増えない?

検証方法や結果の報告方法はGitHubのissueにまとめたので、
WindowsでGroongaを使っている方はぜひご協力よろしくお願いしま
す。

  https://github.com/groonga/groonga/issues/384

○ 変更点一覧


改良
^^^^

  * [実験的][Windows] スパースファイルをサポートしました。こ
    の機能は実験的な機能です。デフォルトでは無効です。
    GRN_IO_USE_SPARSE=yes 環境変数を指定すると有効にできます。

  * Windows上でデータベースのファイルサイズを小さくできます。
    この機能を試して結果を報告してください。Groonga開発者は
    次の点に興味があります。

      * ディスク使用量
      * パフォーマンス(速くなったか?遅くなったか?変化はないか?)
      * メモリー使用量(特に仮想メモリー使用量)

  * [実験的][logical_shard_list] 指定された論理テーブルのシャー
    ドのリストを返すコマンドを追加しました。

  * [実験的][正規表現演算子] インデックスなしでもベクターカ
    ラムに対して正規表現を使えるようになりました。

  * [logical_range_filter] --cache no オプションをサポートし
    ました。これは、 select の cache オプションと同じ機能で
    す。

  * [groonga-httpd] thread_limit の最大スレッド数を返す機能
    に対応しました。最大スレッド数を設定することはできません。

  * [grn_db_unmap()] 開いているすべてのテーブルとカラムをア
    ンマップするAPIを追加しました。これはスレッドセーフでは
    ない操作です。 grn_db_unmap() 実行中はデータベースを触る
    ことはできません。

  * [database_unmap] データベース内の開いているすべてのテー
    ブルとカラムをアンマップするコマンドを追加しました。

  * [object_exist] データベース内に指定された名前のオブジェ
    クトが存在するかどうかを返すコマンドを追加しました。

  * [column_copy] コピー元カラムからコピー先カラムへすべての
    値をコピーするコマンドを追加しました。

  * このコマンドを使うと、カラムの値の型を変更したり、カラム
    の種類を変更したり、テーブルの種類を変更したりできます。

  * 非標準の __uint32_t 型を使うことを止めました。
    [GitHub#375][Natanael Copaさんが報告]

  * [実験的][Windows] Windowsイベントログをサポートしました。

  * [mruby] mrubyの初期化エラー処理をサポートしました。

  * [実験的][thread_limit] thread_count からリネームしました。

  * info レベルと debug レベルで使用したインデックスをログに
    出力するようになりました。これはRDBMSの EXPLAIN のように
    使うことができます。スロークエリーを改良するときに便利で
    す。

  * [ドキュメント] 非推奨の KEY_NORMALIZE フラグを置き換えま
    した。 [GitHub#378][GitHub#380][GitHub#382] [佐藤さんが
    パッチ提供]

  * [ドキュメント] 必要のないSphinxの設定を削除しました。
    [GitHub#379] [長内さんがパッチ提供]

  * [実験的][非互換][正規表現演算子] . のマッチの挙動が変わ
    りました。 . は改行にもマッチします。これは後方非互換な
    変更です。

  * [ドキュメント][リポジトリーのGroongaをビルドする方法]
    Groongaの開発者としてGroongaをビルドするためのドキュメン
    トを追加しました。 [GitHub#353] [吉岡さんが提案]

修正
^^^^

  * [mruby] 時間の値がオーバーフローするバグを修正しました。

  * [groonga executable file] PIDファイルを作成できないとき
    にクラッシュする問題を修正しました。 [GitHub#368] [佐藤
    さんが報告]

  * 静的なインデックス構築方法 が壊れたインデックスを構築す
    る可能性がある問題を修正しました。この問題はマルチカラム
    インデックスのインデックスを構築するときに発生する可能性
    があります。言いかえると、 WITH_SECTION フラグ付きのイン
    デックスカラムは壊れる可能性があるということです。

    WITH_SECTION フラグ付きのインデックスカラムに 動的なイン
    デックス構築方法 を使っている場合はこのバグの影響はあり
    ません。

    このバグで壊れたインデックスは既存のマルチカラムインデッ
    クスを再作成すると復旧できます。

  * [query] scorer で query を使うとクラッシュするバグを修正
    しました。

  * [filter] 符号なし整数に ビット否定演算子 を使うと、 -数
    値リテラル との比較が正常に動かないバグを修正しました。

    たとえば、次の式は正常に動きません。:

      ~UINT32_COLUMN == -6

  * 正規表現演算子 がマルチスレッド環境で動かない問題を修正
    しました。

  * メモリーリークをいくつか修正しました。

  * ビルドエラーを修正しました。 [GitHub#381] [畑ケさんがパッチ提供]

感謝
^^^^

  * 佐藤さん

  * Natanael Copaさん

  * 長内歩さん

  * 畑ケさん

  * 吉岡さん


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/
コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:
  http://www.clear-code.com/services/code-reader/




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