anchor.diff:              ok
       end,
   
  -    Restart =
  -        try
  -            consider_switching_compat_mode(),
  -            false
  -        catch exit:normal ->
  -                true
  -        end,
  -
  -    maybe_start_upgrade_to_dcp(Restart);
  +    case ConsiderUpgrade of
  +        true ->
  +            Restart =
  +                try
  +                    consider_switching_compat_mode(),
  +                    false
  +                catch exit:normal ->
  +                        true
  +                end,
  +
  +            maybe_start_upgrade_to_dcp(Restart);
  +        false ->
  +            ?log_debug("Skipping post-rebalance upgrade for rebalance ~p", [State]),
  +            {next_state, idle, #idle_state{}}
  +    end;
   
   handle_info({'EXIT', Pid, Reason}, upgrading_to_dcp,
               #dcp_upgrade_state{upgrader = Pid,
  
positive.code: -record(idle_state, {remaining_buckets = [] :: bucket_request()}).
  -record(janitor_state, {remaining_buckets :: bucket_request(),
                          pid}).
  -record(rebalancing_state, {rebalancer, progress,
                              keep_nodes, eject_nodes, failed_nodes}).
  -record(recovery_state, {uuid :: binary(),
                           bucket :: bucket_name(),
                           recoverer_state :: any()}).
  
negative.code:             #rebalancing_state{rebalancer=Pid,
                                 keep_nodes=KeepNodes,
                                 eject_nodes=EjectNodes,
                                 failed_nodes=FailedNodes,
                                 consider_post_rebalance_upgrade = ConsiderUpgrade} = State) ->
      Status = case Reason of
                   graceful_failover_done ->
                       none;
  