anchor.diff:      {error, evictionPolicy,
        <<"Eviction policy must be either 'valueOnly' or 'fullEviction'">>}.
   
  -parse_validate_ram_quota(undefined, BucketConfig) when BucketConfig =/= false ->
  +parse_validate_ram_quota(Params, BucketConfig) ->
  +    do_parse_validate_ram_quota(proplists:get_value("ramQuotaMB", Params),
  +                                BucketConfig).
  +
  +do_parse_validate_ram_quota(undefined, BucketConfig) when BucketConfig =/= false ->
       {ok, ram_quota, ns_bucket:raw_ram_quota(BucketConfig)};
  -parse_validate_ram_quota(Value, _BucketConfig) ->
  +do_parse_validate_ram_quota(Value, _BucketConfig) ->
       case menelaus_util:parse_validate_number(Value, 0, undefined) of
           invalid ->
  -            {error, ramQuotaMB, <<"The RAM Quota must be specified and must be a positive integer.">>};
  +            {error, ramQuotaMB,
  +             <<"The RAM Quota must be specified and must be a positive integer.">>};
           too_small ->
               {error, ramQuotaMB, <<"The RAM Quota cannot be negative.">>};
  -        {ok, X} -> {ok, ram_quota, X * ?MIB}
  -    end.
  -
  -parse_validate_other_buckets_ram_quota(undefined) ->
  +        {ok, X} ->
  +            {ok, ram_quota, X * ?MIB}
  +    end.
  +
  +parse_validate_other_buckets_ram_quota(Params) ->
  +    do_parse_validate_other_buckets_ram_quota(
  +      proplists:get_value("otherBucketsRamQuotaMB", Params)).
  +
  +do_parse_validate_other_buckets_ram_quota(undefined) ->
       {ok, other_buckets_ram_quota, 0};
  -parse_validate_other_buckets_ram_quota(Value) ->
  +do_parse_validate_other_buckets_ram_quota(Value) ->
       case menelaus_util:parse_validate_number(Value, 0, undefined) of
           {ok, X} ->
               {ok, other_buckets_ram_quota, X * ?MIB};
           _ ->
  -            {error, otherBucketsRamQuotaMB, <<"The other buckets RAM Quota must be a positive integer.">>}
  +            {error, otherBucketsRamQuotaMB,
  +             <<"The other buckets RAM Quota must be a positive integer.">>}
       end.
   
   parse_validate_time_synchronization("disabled") ->
  
positive.code:             {ok, num_threads, X}
      end.
  
  parse_validate_eviction_policy("valueOnly") ->
      {ok, eviction_policy, value_only};
  parse_validate_eviction_policy("fullEviction") ->
  
negative.code:         {ok, X} -> {ok, num_replicas, X}
      end.
  
  parse_validate_replica_index(Params, ReplicasNum, true = _IsNew) ->
      parse_validate_replica_index(
        proplists:get_value("replicaIndex", Params,
                            replicas_num_default(ReplicasNum)));
  parse_validate_replica_index(_Params, _ReplicasNum, false = _IsNew) ->
      ignore.
  
  replicas_num_default({ok, num_replicas, 0}) ->
      "0";
  replicas_num_default(_) ->
      "1".
  
  parse_validate_replica_index("0") -> {ok, replica_index, false};
  parse_validate_replica_index("1") -> {ok, replica_index, true};
  parse_validate_replica_index(_ReplicaValue) -> {error, replicaIndex, <<"replicaIndex can only be 1 or 0">>}.
  
  parse_validate_threads_number(Params, IsNew) ->
      validate_with_missing(proplists:get_value("threadsNumber", Params),
                            "3", IsNew, fun parse_validate_threads_number/1).
  
  parse_validate_flush_enabled("0") -> {ok, flush_enabled, false};
  parse_validate_flush_enabled("1") -> {ok, flush_enabled, true};
  