anchor.diff:          {ok, _} = Success ->
               ProceedFun(Success);
           {error, {insufficient_vnodes,_,need,_} = Reason} ->
  -            RetryFun([Reason|ErrorReasons]);
  +            RetryFun([{local_one, Reason}|ErrorReasons]);
           {error, Why} when Why == notfound;
                             Why == timeout;
                             Why == disconnected;
                             Why == <<"{insufficient_vnodes,0,need,1}">>;
                             Why == {insufficient_vnodes,0,need,1} ->
               handle_local_notfound(RcPid, FullBucket, FullKey, GetOptions2,
  -                                  ProceedFun, RetryFun, [Why|ErrorReasons], UseProxyGet,
  +                                  ProceedFun, RetryFun,
  +                                  [{local_one, Why}|ErrorReasons], UseProxyGet,
                                     ProxyActive, ClusterID);
           {error, Other} ->
               _ = lager:error("do_get_block: other error 1: ~p\n", [Other]),
  -            RetryFun([Other|ErrorReasons])
  +            RetryFun([{local_one, Other}|ErrorReasons])
       end.
   
   handle_local_notfound(RcPid, FullBucket, FullKey, GetOptions2,
  
positive.code:         {error, Why} when Why == disconnected;
                            Why == timeout ->
              _ = lager:debug("get_block_local/5 failed: {error, ~p}", [Why]),
              RetryFun([Why|ErrorReasons]);
  
          {error, notfound} when UseProxyGet andalso ProxyActive->
              case get_block_remote(RcPid, FullBucket, FullKey,
  
negative.code:                 {ok, _} = Success ->
                      ProceedFun(Success);
                  {error, Reason} ->
                      RetryFun([{remote_quorum, Reason}|ErrorReasons])
              end;
          {error, notfound} when UseProxyGet ->
              RetryFun([{local_quorum, notfound}|ErrorReasons]);
          {error, notfound} ->
              RetryFun([{local_quorum, notfound}|ErrorReasons]);
  
          {error, Other} ->
              _ = lager:error("do_get_block: other error 2: ~p\n", [Other]),
              RetryFun([{local_quorum, Other}|ErrorReasons])
      end.
  
  get_block_local(RcPid, FullBucket, FullKey, GetOptions, Timeout) ->
  