YUKI Hiroshi
null+****@clear*****
Thu Apr 30 00:49:10 JST 2015
YUKI Hiroshi 2015-04-30 00:49:10 +0900 (Thu, 30 Apr 2015) New Revision: be111f50357e4dce10f5ac87c2cb5e7c89ac0c72 https://github.com/droonga/droonga.org/commit/be111f50357e4dce10f5ac87c2cb5e7c89ac0c72 Message: Translate release entry Modified files: ja/news/_posts/2015-04-29-release.ja.md news/_posts/2015-04-29-release.md Modified: ja/news/_posts/2015-04-29-release.ja.md (+90 -11) =================================================================== --- ja/news/_posts/2015-04-29-release.ja.md 2015-04-30 00:10:05 +0900 (6899852) +++ ja/news/_posts/2015-04-29-release.ja.md 2015-04-30 00:49:10 +0900 (d3e0b05) @@ -4,6 +4,8 @@ layout: news-item.ja published: false --- +大変長らくお待たせしました。ようやく、待望の機能と共にDroonga 1.1.0をリリースしました! + ## Droongaとは? Droongaは[Groonga][groonga]と互換性を持つ分散型の全文検索エンジンです。 @@ -12,26 +14,103 @@ Droongaクラスタは、レプリケーション機能を持つ[Groonga][groong どのように動作しどのように利用するのかについては、[チュートリアル][tutorial]をご覧下さい。 また、設計について興味がある場合は[概要][overview]もご覧下さい。 -## (このリリースの要約) +## replicaノードの真の意味でのHot-Addが可能になりました! -今回のDroonga 1.1.0のリリースにおける最大の改善点は、*(何か)*です。 +今回のDroonga 1.1.0のリリースにおける最大の改善点は、*replicaノードの完全なHot-Addへの対応*です。 +この機能はDroongaに必要な基本機能の1つとして長らく認識されていましたが、ようやく実現の運びとなりました。 +Droongaクラスタは、ダウンタイム無しでreplicaノードを追加できるようになりました。 +クローリングや新規データの追加を停止する必要はもうありません! -(TBD) +なお、replicaノードのHot-Addを行うためには、追加する新しいreplicaノードを除いて、クラスタ内に2つ以上のreplicaノードが存在している必要があります。 +詳細は[replicaノードの追加のチュートリアル](/ja/tutorial/add-replica/)を参照して下さい。 ## 改善点の詳細な一覧 - * [Droonga-engine ][droonga-engine] - * [Droonga-http-server ][droonga-http-server] - * [Express-droonga ][express-droonga] - * [Drnbench ][drnbench] - * [Drntest ][drntest] - * [Grn2drn ][grn2drn] + * [Droonga-engine 1.1.0][droonga-engine] + * 全般: + * 継続的に流入してくるメッセージがある状況でのgracefulな終了・再起動が正しく動作するようにしました。 + * Single stepの定義において、新しいパラメータ`single_operation`を導入しました。 + これを`true`に設定した場合、そのハンドラ用のメッセージは全てのreplicaおよびsliceの中から1つのボリュームにだけ配送されます。 + これは、`system.status`のようにクラスタ内で1回だけ実行されればそれでよいコマンドを実装するのに役立ちます。 + * Single stepの定義において、新しいパラメータ`use_all_replicas`を導入しました。 + これを`true`に設定した場合、そのハンドラ用のメッセージは全てのreplicaに必ず配送されます。 + これは、`system.statistics.object.count.per-volume`のように全てのreplicaで実行される必要があるコマンドを実装するのに役立ちます。 + * `add`コマンドが、型の一致しないkeyの自動変換に対応しました。 + 例えば、keyの型が`UInt32`と定義されたテーブルであっても、keyを文字列で`"1"`と書いたリクエストのままでレコードを追加できます。 + * `dump`コマンド:他のテーブルのレコードを参照しているカラムの値を、オブジェクトの形(`add`コマンドのパラメータとしては使えない)ではなく、レコードのkey文字列として正しく出力するようにしました。 + この結果、参照カラムを含むテーブルをクラスタ間で正しくコピーできるようになりました。 + * `dump`コマンド:`_key`カラムのみを含むテーブルのレコードも正しく出力するようにしました。 + * `dump`コマンド:転送されるメッセージに、それ自身の`date`フィールドを付与するようにしました。 + * `Collectors::RecursiveSum`を導入しました。キーの値が数値であるハッシュや数値の配列などについて、値を再帰的に足し算できます。 + * `system.status`コマンド:レスポンスの一部として、情報を報告してきたノードの識別子を出力するようにしました。 + * `system.statistics.object.count`コマンドを追加しました。これはコマンドラインユーティリティによって内部的に使用されます。 + * `system.statistics.object.count.per-volume`コマンドを追加しました。これはreplicaの同値性を確認するのに利用できます。 + * `system.absorb-data`コマンドを追加しました。これはコマンドラインユーティリティによって内部的に使用されます。 + * メッセージ形式: + * `targetRole`フィールドを追加しました。 + メッセージを処理することのできるEngineノードのロールを明示的にして揺ることができます。 + もしメッセージを受信したノードのロールと一致しなかった場合には、可能であれば、適切なノードへ自動的にメッセージが転送されます。 + * `timeout`フィールドを追加しました。 + リクエストに対するレスポンスをいつまで待つかを秒数で指定できます。 + * コマンドラインユーティリティ: + * `droonga-engine-join`および`droonga-engine-absorb-data`コマンドがより確実に動作するようになりました。 + * いくつかのコマンドについて、内部的に行っているSerfの通信内容を監視するための`--verbose`オプションを追加しました。 + * 主にデバッグ用として、`droonga-engine-set-role`コマンドを追加しました。 + * Groongaとの互換性: + * Groongaの`delete`コマンドとの互換性の向上: + * 数値型のキーを持つテーブルに対しても正しく動作するようにしました。 + [funa1gさんによる報告](http://sourceforge.jp/projects/groonga/lists/archive/dev/2014-December/002995.html)がきっかけでの改善です。ありがとうございます! + * 型の一致しないkeyの自動変換に対応しました。 + 例えば、keyの型が`UInt32`と定義されたテーブルであっても、keyを文字列で`"1"`と書いたリクエストのままでレコードを削除できます。 + * [Droonga-http-server 1.1.2][droonga-http-server] + * `express-droonga`の要求バージョンを繰り上げました。 + * [Express-droonga 1.0.9][express-droonga] + * Droonga Engine 1.1.0伸しよう変更に追従しました。 + * uber-cache 2.0.0に対応しました。 + * Droonga Engineノードとの接続状況を調査できるように、以下のエンドポイントを追加しました。 + - `/engines`:現在接続されているDroonga Engineノードの一覧を返します。 + - `/connections`:Droonga Engineノードとの接続の詳細な内部状態を返します。 + * Droongaクラスタの構成に何か変更があった場合に、必ずDroonga Engineノードとの接続を更新するようにしました。 + * `/droonga/*`以下のエンドポイントに対するリクエストのクエリパラメータを、Droonga Engineノードに送るメッセージのbodyとして使うようにしました。 + * [Drndump 1.0.1][drndump] + * 実装がモジュール化されました。 + 他の製品から内部的なライブラリを利用できるようになりました。 + * [Drntest 1.2.0][drntest] + * 改善点 + * メッセージの補完や妥当性検証を制御するためのディレクティブを追加しました。 + * `#@enable_completion`および`#@disable_completion`で、リクエストメッセージの必須フィールドの補完を制御できます(既定の状態では、必須のフィールドは自動的に補完されます)。 + * `#@enable_validation`および`#@disable_validation`で、リクエストメッセージの妥当性検証を制御できます(既定の状態では妥当性が検証されます)。 + * `dump`のようなサブスクリプション型のコマンド向けに、`#@subscribe-until`ディレクティブを追加しました。 + 当該ディレクティブに続くリクエストによるサブスクリプションについて、指定したタイムアウトで自動的にサブスクリプションを解除できます。例: + `#@subscribe-until 10s` + * エンジンのプロセスが異常停止している場合に、結果のステータスとして`NO RESPONSE`がすぐに返されるようになりました。 + * Groongaコマンドのレスポンスとして不正な内容が返されても、エラーにならないようにしました。 + * [Droonga-client-ruby 0.2.1][droonga-client-ruby] + * 入力メッセージの必須フィールドについて、既定の状態で自動的に補完するようにしました。 + * 入力メッセージについて、既定の状態で自動的に妥当性を検証するようにしました。 + * サブスクリプション型のメッセージについて、タイムアウトを指定できるようにしました。 + `client.subscribe(request, :subscription_timeout => 10)` + のように指定すると、指定された秒数が経過した後に自動的にサブスクリプションが解除されます。 + * 便利のためにいくつかのユーティリティコマンドを追加しました。 + * `droonga-system-status`:クラスタに対して`system.status`のリクエストを簡単に送れます。 + * `droonga-add`:クラスタに対して`add`リクエストでのデータ追加を簡単に行えます。 + * `droonga-groonga`:`groonga`コマンドと似た要領で動作します。 + * droonga-send, droonga-request: + * `--[no-]completion`オプションを追加しました。 + 意図的に不完全なメッセージを送りたい場合は、`--no-completion`を指定するようにして下さい。 + * `--[no-]validation`オプションを追加しました。 + 意図的に不正なメッセージを送りたい場合は、`--no-validation`を指定するようにして下さい。 + * `--default-dataset`オプションを追加しました。 + このオプションの値は、`dataset`フィールドがないメッセージを送ろうとした場合に使われます。 + * `--default-target-role`オプションを追加しました。 + このオプションの値は、`targetRole`フィールドがないメッセージを送ろうとした場合に使われます。 + * `date`フィールドを、Droonga Engine内部での物と同じく、マイクロ秒まで含んだ形式(`2015-04-08T06:16:20.571303Z`のような)で補完するようにしました。 ## まとめ * Droonga 1.1.0をリリースしました! - * TODO summarize this release - * Droongaプロジェクトは今後も新バージョンを毎月リリースしていきます。乞う御期待! + * ダウンタイム無しでのreplicaノードの追加が、ついに可能になりました。 + * Droongaプロジェクトは今後も新バージョンを継続的にリリースしていきます。乞う御期待! Droongaプロジェクトはユーザや開発者としての皆さんのご協力をお待ちしています! 詳しくは[コミュニティ][community]のページをご覧下さい。 Modified: news/_posts/2015-04-29-release.md (+4 -4) =================================================================== --- news/_posts/2015-04-29-release.md 2015-04-30 00:10:05 +0900 (ff20ca8) +++ news/_posts/2015-04-29-release.md 2015-04-30 00:49:10 +0900 (20f484a) @@ -80,9 +80,9 @@ For more information, see [tutorial for adding replica nodes](/tutorial/add-repl Required fields of request messages are automatically completed by default. * `#@enable_validation` and `#@disable_validation` controls validation of request messages. Messages are validated by default. - * `#@subscribe-until` directive, for subscription type commands like `dump`. - You can unsubscribe the next request following to the directive automatically with given timeout, like: - `#@subscribe-until 10s` + * `#@subscribe-until` directive, for subscription type commands like `dump`. + You can unsubscribe the next request following to the directive automatically with given timeout, like: + `#@subscribe-until 10s` * A `NO RESPONSE` result is now returned immediately, for a stalled engine process. * Invalid format responses for Groonga commands are now ignored. * [Droonga-client-ruby 0.2.1][droonga-client-ruby] @@ -111,7 +111,7 @@ For more information, see [tutorial for adding replica nodes](/tutorial/add-repl * Droonga 1.1.0 has been released! * Now you can add new replica to the cluster without any downtime. - * Droonga project will release a new version every month! + * Droonga project will release a new version continuously! Droonga project welcomes you to join us as a user and/or a developer! See [community][] to contact us! -------------- next part -------------- HTML����������������������������... Descargar