Skip to content

Commit

Permalink
Add node_confirms option to PUT request (#371)
Browse files Browse the repository at this point in the history
Also add a long timeout to the datatype tests as they failed once or
twice on timeout (I suspect it might have been a network issue acquiring
an EQC license, but having a timeout hurts no one.)

* Add `node_confirms` option to PUT request

And counter/datatype operations. NOTE: depends on riak-2.2.5
`node_confirms` feature.
  • Loading branch information
russelldb committed Mar 22, 2018
1 parent 906762d commit d07f9ee
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/riakc_datatype.erl
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,14 @@ module_for_term(T) ->
prop_module_for_term]).
-define(F(Fmt, Args), lists:flatten(io_lib:format(Fmt, Args))).
datatypes_test_() ->
{timeout, 120,
[{" prop_module_type() ",
?_assert(eqc:quickcheck(?QC_OUT(prop_module_type())))}] ++
[ {?F(" ~s(~s) ", [Prop, Mod]),
?_assert(eqc:quickcheck(?QC_OUT(eqc:testing_time(2, ?MODULE:Prop(Mod)))))} ||
Prop <- ?MODPROPS,
Mod <- ?MODULES ].
[ {?F(" ~s(~s) ", [Prop, Mod]),
?_assert(eqc:quickcheck(?QC_OUT(eqc:testing_time(2, ?MODULE:Prop(Mod)))))} ||
Prop <- ?MODPROPS,
Mod <- ?MODULES ]
}.

run_props() ->
run_props(500).
Expand Down
5 changes: 5 additions & 0 deletions src/riakc_pb_socket.erl
Original file line number Diff line number Diff line change
Expand Up @@ -1582,6 +1582,9 @@ put_options([{n_val, N} | Rest], Req)
put_options([{sloppy_quorum, Bool} | Rest], Req)
when Bool == true; Bool == false ->
put_options(Rest, Req#rpbputreq{sloppy_quorum = Bool});
put_options([{node_confirms, NodeConfirms} | Rest], Req) ->
NCOpt = riak_pb_kv_codec:encode_quorum(NodeConfirms),
put_options(Rest, Req#rpbputreq{node_confirms = NCOpt});
put_options([{_, _} | _Rest], _Req) ->
erlang:error(badarg).

Expand Down Expand Up @@ -1642,6 +1645,8 @@ counter_incr_options([{dw, DW} | Rest], Req) ->
counter_incr_options(Rest, Req#rpbcounterupdatereq{dw=riak_pb_kv_codec:encode_quorum(DW)});
counter_incr_options([{pw, PW} | Rest], Req) ->
counter_incr_options(Rest, Req#rpbcounterupdatereq{pw=riak_pb_kv_codec:encode_quorum(PW)});
counter_incr_options([{node_confirms, NodeConfirms} | Rest], Req) ->
counter_incr_options(Rest, Req#rpbcounterupdatereq{node_confirms=riak_pb_kv_codec:encode_quorum(NodeConfirms)});
counter_incr_options([returnvalue | Rest], Req) ->
counter_incr_options(Rest, Req#rpbcounterupdatereq{returnvalue=true});
counter_incr_options([_ | _Rest], _Req) ->
Expand Down

0 comments on commit d07f9ee

Please sign in to comment.