anchor.diff:                      end;
                   <<?TAP_OPAQUE_VB_FILTER_CHANGE_COMPLETE:32>> ->
                       started = VBFilterChangeState,
  -                    NewState = State2#state{vb_filter_change_state=completed},
  +                    NewState = State2#state{vb_filter_change_state=half_completed},
  +                    ?log_info("Got vbucket filter change completion message. Silencing upstream sender"),
  +                    NewState#state.upstream_sender ! {silence_upstream_new_style, self()},
                       {stop, NewState};
                   _Other ->
                       {ok, State2}
  
positive.code: 
  complete_native_vb_filter_change(#state{downstream=Downstream,
                                          upstream=Upstream,
                                          upstream_sender=UpstreamSender,
                                          vb_filter_change_state=ChangeState,
                                          vb_filter_change_owner=Owner} = State) ->
      completed = ChangeState,
  
negative.code: 
  handle_info(retry_not_ready_vbuckets, _State) ->
      exit_retry_not_ready_vbuckets();
  handle_info(upstream_silenced, State) ->
      {state_is_half_complete, half_completed} = {state_is_half_complete, State#state.vb_filter_change_state},
      ?log_info("Got reply from upstream silencing request. "
                "Completing state transition to a new ebucketmigrator."),
      complete_native_vb_filter_change(State#state{vb_filter_change_state = completed});
  handle_info({tcp, Socket, Data},
              #state{downstream=Downstream,
                     upstream=Upstream} = State) ->
  