anchor.diff:  %% it should drop through and be ignored.
   handle_info({tcp, Sock, Data}, State=#state{sock = Sock, active = Active}) ->
       [MsgCode|MsgData] = Data,
  -    Resp = riak_pb_codec:decode(MsgCode, MsgData),
  +    Resp = case Active#request.msg of
  +        {tunneled, _MsgID} ->
  +            %% don't decode tunneled replies, we may not recognize the msgid
  +            {MsgCode, MsgData};
  +        _ ->
  +            riak_pb_codec:decode(MsgCode, MsgData)
  +    end,
       case Resp of
           #rpberrorresp{} ->
               NewState1 = maybe_reply(on_error(Active, Resp, State)),
  
positive.code:                     ?DEFAULT_TIMEOUT
              end
      end.
  
  %% ====================================================================
  %% gen_server callbacks
  
negative.code: 
  %% Send a request to the server and prepare the state for the response
  %% @private
  %% Already encoded (for tunneled messages), but must provide Message Id
  %% for responding to the second form of send_request.
  send_request(#request{msg = {tunneled,MsgId,Pkt}}=Msg, State) when State#state.active =:= undefined ->
      Request = Msg#request{msg = {tunneled,MsgId}},
      ok = gen_tcp:send(State#state.sock, [MsgId|Pkt]),
      State#state{active = Request};
  %% Unencoded Request (the normal PB client path)
  send_request(Request, State) when State#state.active =:= undefined ->
      Pkt = riak_pb_codec:encode(Request#request.msg),
      ok = gen_tcp:send(State#state.sock, Pkt),
  