diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index ed3d1af2f..74662c454 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,3 +1,11 @@ +# Riak KV 3.0.14 Release Notes + +This release [fixes an issue](https://github.com/martinsumner/leveled/issues/393) whereby a failure to signal and handle back-pressure correctly by the leveled backend can cause a backlog within the store. In particular this can be triggered by handoffs (e.g. due to cluster admin operations), and lead to partition transfers stalling almost completely. The issue existed in previous releases, by may have been exacerbated by refactoring in [Riak KV 3.0.13](#riak-kv-3013-release-notes). + +An additional [minor improvement has been made to handoffs](https://github.com/basho/riak_kv/pull/1851). Previously requests to reap tombstones after deletions (where the delete_mode is not `keep`), would not be forwarded during handoffs. These tombstones would then need to be corrected by AAE (which may result in a permanent tombstone). There is now a configuration option `handoff_deletes` which can be enabled to ensure these reap requests are forwarded, reducing the AAE work required on handoff completion. + +Desipite the handoff improvements in [Riak KV 3.0.13](#riak-kv-3013-release-notes), handoff timeouts are still possible. If handoff timeouts do occur, then the first stage should be to reduce the [handoff batch threshold count](https://github.com/basho/riak_core/blob/riak_kv-3.0.14/priv/riak_core.schema#L47-L55) to a lower number than that of [the item_count in the handoff sender log](https://github.com/basho/riak_core/blob/riak_kv-3.0.14/src/riak_core_handoff_sender.erl#L474-L486). + # Riak KV 3.0.13 Release Notes This release is focused on improving the reliability of handoffs. The speed of handoffs is critical to the recovery times of nodes following failure, and also to the time necessary to expand or contract the cluster. Controlling the speed can be managed by increasing concurrency (using `riak admin transfer-limit `), but this can often lead to handoff unreliability due to timeouts. diff --git a/rebar.config b/rebar.config index 3ba4804b7..5f200062b 100644 --- a/rebar.config +++ b/rebar.config @@ -11,13 +11,13 @@ {deps, [ {lager_syslog, {git, "https://github.com/basho/lager_syslog.git", {tag, "3.1.1"}}}, {cluster_info, {git, "https://github.com/basho/cluster_info.git", {tag, "2.1.0"}}}, - {riak_kv, {git, "https://github.com/basho/riak_kv.git", {tag, "riak_kv-3.0.13"}}}, + {riak_kv, {git, "https://github.com/basho/riak_kv.git", {tag, "riak_kv-3.0.14"}}}, {riak_auth_mods, {git, "https://github.com/basho/riak_auth_mods.git", {tag, "riak_kv-3.0.10"}}}, {riaknostic, {git, "https://github.com/basho/riaknostic.git", {tag, "riak_kv-3.0.10"}}}, % {yokozuna, {git, "https://github.com/basho/yokozuna.git", {branch, "develop-3.0"}}}, - {riak_repl, {git, "https://github.com/basho/riak_repl.git", {tag, "riak_kv-3.0.13"}}} + {riak_repl, {git, "https://github.com/basho/riak_repl.git", {tag, "riak_kv-3.0.14"}}} ]}. {project_plugins, [ @@ -46,7 +46,7 @@ ]} ]}. -{relx, [{release, {riak, "3.0.13"}, +{relx, [{release, {riak, "3.0.14"}, [kernel, stdlib, lager, diff --git a/rebar.lock b/rebar.lock index 94fb82039..8d013331a 100644 --- a/rebar.lock +++ b/rebar.lock @@ -50,7 +50,7 @@ 2}, {<<"kv_index_tictactree">>, {git,"https://github.com/martinsumner/kv_index_tictactree.git", - {ref,"1d982aeaf6bd57c6c00fcad67e90c27c58edcfd1"}}, + {ref,"cd192703c2464bc0f0da12177b077c000c12b392"}}, 1}, {<<"lager">>, {git,"https://github.com/erlang-lager/lager.git", @@ -62,7 +62,7 @@ 0}, {<<"leveled">>, {git,"https://github.com/martinsumner/leveled", - {ref,"ee6c166b9f49884340970109f5365f581db87688"}}, + {ref,"bd6ec2fdb591aa199e18b1d4abeb3fe8e037926c"}}, 2}, {<<"lz4">>, {git,"https://github.com/martinsumner/erlang-lz4", @@ -103,7 +103,7 @@ 1}, {<<"riak_api">>, {git,"https://github.com/basho/riak_api.git", - {ref,"0f9c5783f87f3c1797fa7b3ca5088c6c3a74a13f"}}, + {ref,"d38c4c33b2d803ba1488017e5942c240ffa46c9b"}}, 1}, {<<"riak_auth_mods">>, {git,"https://github.com/basho/riak_auth_mods.git", @@ -111,7 +111,7 @@ 0}, {<<"riak_core">>, {git,"https://github.com/basho/riak_core.git", - {ref,"ad546ed1ce85b48aada8446cc2ce75a129103b32"}}, + {ref,"10cad320852a66d9d3c81a1f3745e7e6a5286cc2"}}, 1}, {<<"riak_dt">>, {git,"https://github.com/basho/riak_dt.git", @@ -123,7 +123,7 @@ 2}, {<<"riak_kv">>, {git,"https://github.com/basho/riak_kv.git", - {ref,"e04bc998e2f48e083a875e290ca242f2d699830d"}}, + {ref,"cdaf80eb75c2070cd569c88b0cb3e47e140a39de"}}, 0}, {<<"riak_pb">>, {git,"https://github.com/basho/riak_pb.git", @@ -131,11 +131,11 @@ 2}, {<<"riak_pipe">>, {git,"https://github.com/basho/riak_pipe.git", - {ref,"bd2240266acfa824ea1fe5f3a2b2192e92e822d3"}}, + {ref,"0fc3833b0dfb1166753b67af460eb8af6b8af1bf"}}, 1}, {<<"riak_repl">>, {git,"https://github.com/basho/riak_repl.git", - {ref,"dd890e83498fcb254de485e2a3aa195f67fbe59c"}}, + {ref,"a1b5ec0836d2ed4d24e00012a0b405a7e51c94ff"}}, 0}, {<<"riak_sysmon">>, {git,"https://github.com/basho/riak_sysmon.git",