anchor.diff:                             true  -> NumOfReplicas - 1;
                              false -> Quorum_1
                          end,
  -            leo_storage_replicator:replicate(Method, Quorum_2, Redundancies_1,
  -                                             Object, replicate_callback());
  +            case get_active_redundancies(Quorum_2, Redundancies_1) of
  +                {ok, Redundancies_2} ->
  +                    leo_storage_replicator:replicate(Method, Quorum_2, Redundancies_2,
  +                                                     Object, replicate_callback());
  +                {error, Reason} ->
  +                    {error, Reason}
  +            end;
           {error, Cause} ->
               {error, Cause}
       end.
  
positive.code:                                    w         = WriteQuorum,
                                     d         = DeleteQuorum,
                                     ring_hash = RingHash}} ->
                      Quorum = case Method of
                                   ?CMD_PUT    -> WriteQuorum;
                                   ?CMD_DELETE -> DeleteQuorum
                               end,
  
                      leo_storage_replicator:replicate(
                        Method, Quorum, Redundancies, Object#?OBJECT{ring_hash = RingHash},
                        replicate_callback(Object));
                  {error,_Cause} ->
                      {error, ?ERROR_COULD_NOT_GET_REDUNDANCY}
              end;
  
negative.code:              {ok, match} |
               {error, any()} when ReadParams::#read_parameter{},
                                   Redundancies::[#redundant_node{}]).
  read_and_repair(#read_parameter{quorum = Q} = ReadParams, Redundancies) ->
      case get_active_redundancies(Q, Redundancies) of
          {ok, AvailableNodes} ->
              read_and_repair_1(ReadParams, AvailableNodes);
          Error ->
              Error
      end.
  
  %% @private
  