Skip to content

Commit e00923c

Browse files
committed
[Bugfix] fix --scheduling-policy=priority & n>1 crashes engine
Signed-off-by: chaunceyjiang <[email protected]>
1 parent e387ec2 commit e00923c

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

vllm/v1/core/sched/request_queue.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,7 @@ def __init__(self) -> None:
147147

148148
def add_request(self, request: Request) -> None:
149149
"""Add a request to the queue according to priority policy."""
150-
heapq.heappush(
151-
self._heap, (request.priority, request.arrival_time, id(request))
152-
)
150+
heapq.heappush(self._heap, (request.priority, request.arrival_time, request))
153151

154152
def pop_request(self) -> Request:
155153
"""Pop a request from the queue according to priority policy."""

vllm/v1/request.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,16 @@ def take_events(self) -> list[EngineCoreEvent] | None:
222222
events, self.events = self.events, []
223223
return events
224224

225+
def __lt__(self, other: "Request") -> bool:
226+
"""Compare two requests based on priority, arrival time, and request ID."""
227+
if self.priority != other.priority:
228+
return self.priority < other.priority
229+
if self.arrival_time != other.arrival_time:
230+
return self.arrival_time < other.arrival_time
231+
if self.request_id != other.request_id:
232+
return self.request_id < other.request_id
233+
return id(self) < id(other)
234+
225235

226236
class RequestStatus(enum.IntEnum):
227237
"""Status of a request."""

0 commit comments

Comments
 (0)