docstr: Called whenever a deployment replica is recovering.
docstr_tok: ["Called","whenever","a","deployment","replica","is","recovering","."]
code: def on_replica_recovering(
      self, deployment_id: DeploymentID, replica_name: str
  ) -> None:
      """Called whenever a deployment replica is recovering."""
      assert replica_name not in self._pending_replicas[deployment_id]
      assert replica_name not in self._launching_replicas[deployment_id]
      assert replica_name not in self._running_replicas[deployment_id]
      assert (
          replica_name not in self._recovering_replicas[deployment_id]
      )
  
      self._recovering_replicas[deployment_id].add(replica_name)
  
imports: import copy
  import sys
  from abc import ABC, abstractmethod
  from collections import defaultdict
  from dataclasses import dataclass
  from typing import Callable, Dict, List, Optional, Set, Tuple
  import ray
  from ray.serve._private.cluster_node_info_cache import ClusterNodeInfoCache
  from ray.serve._private.common import DeploymentID
  from ray.serve._private.utils import get_head_node_id
  from ray.util.scheduling_strategies import PlacementGroupSchedulingStrategy
label_desc: Use image node_id 6 for calling the DefaultDeploymentScheduler obj's underlying member method code with example usage: obj.on_replica_recovering(deployment_id, replica_name) without return types