注: Riak 2.1.0 は Riak 2.1.1 に置き換わりました
Riak 2.1.0 で混入した handoff.ip のデフォルト設定に起因するバグが、 Riak 2.1.1 で修正されました。これはhandoffにおいて、転送先ノードへのデータ転送を伴わずに、データ転送済みvnodeを削除するマークが付与される問題でした。2.1.0 のユーザーがこの問題を回避するには設定変更(riak.conf)が必須となります。全ユーザーがこの問題の影響を受けるわけではありませんが、すべての 2.1.0 ユーザーに対し、2.1.1へのアップグレードを推奨します。
この問題の詳細はBasho Documentaion の Product Advisories で確認できます。
- vars.config内で
handoff_ip
のデフォルト値を 0.0.0.0 へ変更。 - riak/pull/734
Riak 2.1.0 はライトワンス バケットのコンセプトを導入します。このバケットのエントリーは 厳密に一度しか書き込まれず、更新も上書きもされない想定です。オブジェクトへは一度の書き込みしか想定されないため、 Riak は通常の get、merge、updateというサイクルをおこないません。これはIOPsの低減や、スループットとレイテンシーの向上 をもたらします。
単一キーに対する複数エントリーの書込みは想定されませんが、可能ではあります -- APIの誤使用、ネットワークパーティション、 同時書込みなどで起こり得ます。これらのケースで Riak は、個々のオブジェクトの SHA-1 ハッシュを基にした アルゴリズムで Sibling の解決をおこないます。このアルゴリズムはデータベースレベルで 繰返し可能かつ決定論的ですが、ユーザーにとっては、"random write wins" に見えるかもしれません。
write_once
プロパティはバケットタイプへ適用されるBoolean値であり、バケットタイプ作成時にのみ設定できます。
バケットタイプが設定され、write_once
プロバティと共にアクティベートされるとプロパティは変更できません。
制限事項:
- Pre/Post-commitフックはサポートされません
- ラージオブジェクトの警告や制限がはたらきません
write_once
を有効化する前に全ノードをアップグレードする必要があります。 バージョンが混在したまま利用するとvnodeがクラッシュします。
-
Issue kv679 - 因果履歴の再利用によるデータロストの主要因を修正。モノトニックカウンターはvnode起動時にはディスクへ同期されるため、vnodeの起動・再起動は以前はなかったコストを持つようになる。
-
特定のバケット・キーに対するアクティブなプリファレンスリストを取得するAPIの追加。 特定のバケット・キーをホストするノードを示すプリファレンスリスト(プライマリ、フォールバックが明示された)を取得するGET操作
/types/Type/buckets/Bucket/keys/Key/preflist
の追加。 -
riak-admin のいくつかのコマンドに対して JSON フォーマット出力を追加。これはcluster status, cluster partition[s], cluster partition-countと riak-admin handoff、riak-admin set/show/describe コマンドの一部を含む。
-
Riakで使われる Erlang R16 へのパフォーマンス関連パッチの統合
-
riak_core_ring_manager:is_stable_ring/0 をパブリックAPIに追加。直近 x 秒以内(現在 90秒)でringの変更があったかどうかがクライアントから確認できるようになる。
-
yokozuna/issues/468 - メトリクスへ
search_query_latency_mean
とsearch_index_latency_mean
を追加。
-
yokozuna/issues/452: Strong ConsistencyやCRDT使用時にSiblingを削除しない
-
yokozuna/issues/402: Indexが有効化される前にHTTPのレスポンスを返す。
-
yokozuna/issues/450: AAEが毎時 {badarg,46}, [{base64,decode_binary[{base64.erl… の終了値で失敗する
-
yokozuna/issues/437: yz_events:handle_info が誤った引数で呼ばれる
-
yokozuna/issues/469: YZの統計値のtypo修正
-
riak_core/issues/698: ワイルドカード名にマッチするピアからの SSL コネクションが常に拒否される
- yokozuna/issues/481 - YZ AAEツリーが期限切れの際にYokozunaがエントリーを失う。現在調査中。
- riak/issues/727 - 1.4.x から 2.1.x へアップグレードするユーザーが
app.config
を利用する場合、allow_mult
とdvv_enabled
のデフォルト設定がfalse
からtrue
へ変更されることに注意。これらの設定がfalse
であることにアプリケーションが依存している場合、後方互換を維持するために、明示的な設定{default_bucket_props, [{allow_mult, false}, {dvv_enabled, false}]},
をapp.config
のriak_core
セクションへ設定する必要がある。