Skip to content

Commit 8ea9457

Browse files
authored
[Serve] update input arg for choose_replicas to be a list of candidate replicas (#53456)
Signed-off-by: Gene Su <[email protected]>
1 parent d637be4 commit 8ea9457

File tree

4 files changed

+10
-11
lines changed

4 files changed

+10
-11
lines changed

python/ray/serve/_private/request_router/pow_2_router.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class PowerOfTwoChoicesRequestRouter(
5151

5252
async def choose_replicas(
5353
self,
54-
replicas_ranks: List[List[RunningReplica]],
54+
candidate_replicas: List[RunningReplica],
5555
pending_request: Optional[PendingRequest] = None,
5656
) -> List[List[RunningReplica]]:
5757
"""One iteration of the power of two choices procedure that chooses
@@ -84,6 +84,6 @@ async def choose_replicas(
8484
k=min(2, len(candidate_replica_ids)),
8585
)
8686
replica_id_to_replica_map = {
87-
replica.replica_id: replica for replica in replicas_ranks[0]
87+
replica.replica_id: replica for replica in candidate_replicas
8888
}
8989
return [[replica_id_to_replica_map[chosen_id] for chosen_id in chosen_ids]]

python/ray/serve/_private/request_router/request_router.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -837,11 +837,11 @@ async def choose_replicas_with_backoff(
837837
extra={"log_to_stderr": False},
838838
)
839839

840-
replica_ranks = [list(self._replicas.values())]
840+
replica_ranks = list(self._replicas.values())
841841
chosen_replicas: List[
842842
List[RunningReplica]
843843
] = await self.choose_replicas(
844-
replicas_ranks=replica_ranks,
844+
candidate_replicas=replica_ranks,
845845
pending_request=pending_request,
846846
)
847847
for replicas in chosen_replicas:
@@ -1026,7 +1026,7 @@ def select_available_replicas(
10261026
@abstractmethod
10271027
async def choose_replicas(
10281028
self,
1029-
replicas_ranks: List[List[RunningReplica]],
1029+
candidate_replicas: List[RunningReplica],
10301030
pending_request: Optional[PendingRequest] = None,
10311031
) -> List[List[RunningReplica]]:
10321032
"""Chooses a subset of candidate replicas from available replicas.
@@ -1036,9 +1036,8 @@ async def choose_replicas(
10361036
replica selection.
10371037
10381038
Args:
1039-
replicas_ranks: A list of lists of replicas, where each inner list
1040-
represents a rank of replicas. The first rank is the most
1041-
preferred and the last rank is the least preferred.
1039+
candidate_replicas: A list of candidate replicas to be considered in the
1040+
policy.
10421041
pending_request: The request to be routed. This is used to
10431042
determine which replicas are eligible for routing.
10441043

python/ray/serve/tests/test_api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,10 @@ async def __call__(self):
7474
class FakeRequestRouter(RequestRouter):
7575
async def choose_replicas(
7676
self,
77-
replicas_ranks: List[List[RunningReplica]],
77+
candidate_replicas: List[RunningReplica],
7878
pending_request: Optional[PendingRequest] = None,
7979
) -> List[List[RunningReplica]]:
80-
return replicas_ranks
80+
return [candidate_replicas]
8181

8282

8383
@serve.deployment(request_router_class=FakeRequestRouter)

python/ray/serve/tests/unit/test_router.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ async def choose_replica_for_request(
218218

219219
async def choose_replicas(
220220
self,
221-
replicas_ranks: List[List[RunningReplica]],
221+
candidate_replicas: List[RunningReplica],
222222
pending_request: Optional[PendingRequest] = None,
223223
) -> List[List[RunningReplica]]:
224224
pass

0 commit comments

Comments
 (0)