Skip to content

Commit fc644d4

Browse files
authored
Mas i1850 handoffdelete (#1851)
* Handoff deletes * Make delete handoff configurable
1 parent e04bc99 commit fc644d4

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

priv/riak_kv.schema

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,4 +1492,11 @@
14921492
{datatype, {flag, enabled, disabled}},
14931493
{default, disabled},
14941494
hidden
1495+
]}.
1496+
1497+
%% @doc When doing handoffs, forward delete requests so that if the delete_mode
1498+
%% is not keep, tombstones will still be reaped.
1499+
{mapping, "handoff_deletes", "riak_kv.handoff_deletes", [
1500+
{datatype, {flag, enabled, disabled}},
1501+
{default, disabled}
14951502
]}.

rebar.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,6 @@
5252
{riak_dt, {git, "https://github.com/basho/riak_dt.git", {tag, "riak_kv-3.0.0"}}},
5353
{riak_api, {git, "https://github.com/basho/riak_api.git", {tag, "riak_kv-3.0.13"}}},
5454
{hyper, {git, "https://github.com/basho/hyper", {tag, "1.1.0"}}},
55-
{kv_index_tictactree, {git, "https://github.com/martinsumner/kv_index_tictactree.git", {tag, "1.0.5"}}},
55+
{kv_index_tictactree, {git, "https://github.com/martinsumner/kv_index_tictactree.git", {branch, "develop-3.0"}}},
5656
{riakhttpc, {git, "https://github.com/basho/riak-erlang-http-client", {tag, "3.0.13"}}}
5757
]}.

src/riak_kv_vnode.erl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2326,6 +2326,15 @@ handle_handoff_request(kv_w1c_put_request, Request, Sender, State) ->
23262326
NewState
23272327
end,
23282328
{forward, NewState0};
2329+
handle_handoff_request(kv_delete_request, Request, Sender, State) ->
2330+
HandoffDeletes = app_helper:get_env(riak_kv, handoff_deletes),
2331+
case {HandoffDeletes, handle_command(Request, Sender, State)} of
2332+
{true, {reply, {del, Idx, Reason}, NewState}} ->
2333+
riak_core_vnode:reply(Sender, {del, Idx, Reason}),
2334+
{forward, NewState};
2335+
{_, Result} ->
2336+
Result
2337+
end;
23292338
handle_handoff_request(_Other, Req, Sender, State) ->
23302339
%% @todo: this should be based on the type of the request when the
23312340
%% hiding of records is complete.

0 commit comments

Comments
 (0)