diff --git a/src/riak_dt.proto b/src/riak_dt.proto index f0ecaec9..51bac3d3 100644 --- a/src/riak_dt.proto +++ b/src/riak_dt.proto @@ -96,6 +96,8 @@ message DtFetchReq { // For read-only requests or context-free operations, you can set // this to false to reduce the size of the response payload. optional bool include_context = 11 [default=true]; + + optional uint32 node_confirms = 12; // Distinct phycical node quorum } diff --git a/src/riak_kv.proto b/src/riak_kv.proto index 6bd81e02..22fae570 100644 --- a/src/riak_kv.proto +++ b/src/riak_kv.proto @@ -57,6 +57,7 @@ message RpbGetReq { optional bool sloppy_quorum = 11; // Experimental, may change/disappear optional uint32 n_val = 12; // Experimental, may change/disappear optional bytes type = 13; // Bucket type, if not set we assume the 'default' type + optional uint32 node_confirms = 14; // Distinct phycical node quorum } // Get Response - if the record was not found there will be no content/vclock @@ -281,6 +282,7 @@ message RpbCounterGetReq { optional uint32 pr = 4; optional bool basic_quorum = 5; optional bool notfound_ok = 6; + optional uint32 node_confirms = 7; // Distinct phycical node quorum } // Counter value response diff --git a/src/riak_pb_dt_codec.erl b/src/riak_pb_dt_codec.erl index 628e8dd1..8ec193df 100644 --- a/src/riak_pb_dt_codec.erl +++ b/src/riak_pb_dt_codec.erl @@ -238,6 +238,8 @@ encode_fetch_options(Fetch, [basic_quorum|Tail]) -> encode_fetch_options(Fetch, [{basic_quorum, true}|Tail]); encode_fetch_options(Fetch, [{basic_quorum, BQ}|Tail]) -> encode_fetch_options(Fetch#dtfetchreq{basic_quorum=BQ},Tail); +encode_fetch_options(Fetch, [{node_confirms, NodeConfirms}|Tail]) -> + encode_fetch_options(Fetch#dtfetchreq{node_confirms=encode_quorum(NodeConfirms)}, Tail); encode_fetch_options(Fetch, [notfound_ok|Tail]) -> encode_fetch_options(Fetch, [{notfound_ok, true}|Tail]); encode_fetch_options(Fetch, [{notfound_ok, NOK}|Tail]) ->