anchor.diff:      ReqMsg = #rpbmapredreq{request = encode_mapred_req(MapRed),
                              content_type = <<"application/x-erlang-binary">>},
       ReqId = mk_reqid(),
  -    gen_server:call(Pid, {req, ReqMsg, default_timeout(mapred), {ReqId, ClientPid}}).
  +    %% Add an extra 100ms to the mapred timeout and use that for the 
  +    %% socket timeout.  This should give the map/reduce a chance to fail and let us know.
  +    Timeout = proplists:get_value(timeout, MapRed, default_timeout(mapred)) + 100,
  +    gen_server:call(Pid, {req, ReqMsg, Timeout, {ReqId, ClientPid}}).
   
   %% @private
   %% Make a new request that can be sent or queued
  
positive.code: %% @doc Perform a map/reduce job against a bucket across the cluster.
  %%      See the map/reduce documentation for explanation of behavior.
  mapred_bucket(Pid, Bucket, Query) ->
      mapred_bucket(Pid, Bucket, Query, ?DEFAULT_TIMEOUT).
  
  %% @spec mapred_bucket(Pid :: pid(),
  %%                     Bucket :: bucket(),
  
negative.code:                  ?assertEqual(riakc_obj:get_contents(PO), riakc_obj:get_contents(GO))
               end)},
  
       {"get should read put with timeout",
        ?_test(begin
                   reset_riak(),
                   {ok, Pid} = start_link(?TEST_IP, ?TEST_PORT),
                   O0 = riakc_obj:new(<<"b">>, <<"k">>),
                   O = riakc_obj:update_value(O0, <<"v">>),
                   {ok, PO} = ?MODULE:put(Pid, O, [{w, 1}, {dw, 1}, return_body]),
                   {ok, GO} = ?MODULE:get(Pid, <<"b">>, <<"k">>, 500),
                   ?assertEqual(riakc_obj:get_contents(PO), riakc_obj:get_contents(GO))
               end)},
  
       {"get should read put with options",
        ?_test(begin
                   reset_riak(),
  