anchor.diff:  
   upstream_sender_loop(Upstream) ->
       receive
  +        hibernate ->
  +            erlang:hibernate(erlang, apply, [fun upstream_sender_loop/1, [Upstream]]);
           {silence_upstream_new_style, Pid} ->
               Pid ! upstream_silenced,
               erlang:hibernate(erlang, exit, [silenced]);
  
positive.code:                   backfill_opaque = BFOpaque} = HadBF,
      case Value =/= undefined andalso BFOpaque =:= undefined of
          true ->
              {reply, Value, State};
          false ->
              OldWaiters = HadBF#had_backfill.waiters,
              NewBF = HadBF#had_backfill{waiters = [From | OldWaiters]},
              ?rebalance_debug("Suspended had_backfill waiter~n~p", [NewBF]),
              {noreply, State#state{had_backfill = NewBF}}
      end;
  handle_call(wait_backfill_complete, From, #state{had_backfill = HadBF,
                                                   backfill_end_waiter = CurrentWaiter} = State) ->
  
negative.code: 
      {state_is_not_completed, true} = {state_is_not_completed, State1#state.vb_filter_change_state =/= completed},
  
      {noreply, State1, ?HIBERNATE_TIMEOUT};
  handle_info({tcp_closed, Socket}, #state{upstream=Socket} = State) ->
      case State#state.takeover of
          true ->
  