Skip to content

Commit ffb5409

Browse files
authored
fix: endpoint changes should be prioritized over new requests in kv scheduler (#2071)
Signed-off-by: Yan Ru Pei <yanrpei@gmail.com>
1 parent e0a5194 commit ffb5409

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

lib/llm/src/kv_router/scheduler.rs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -142,24 +142,20 @@ impl KvScheduler {
142142
request = tokio::select! {
143143
biased;
144144

145-
new_request = request_rx.recv() => {
146-
match new_request {
147-
Some(new_request) => {
148-
tracing::trace!("received request to be scheduled");
149-
new_request
150-
},
151-
None => {
152-
tracing::trace!("scheduler shutdown");
153-
break 'outer;
154-
}
155-
}
156-
}
157-
158145
_ = endpoints_rx.changed() => {
159146
endpoints = endpoints_rx.borrow_and_update().clone();
160147
pending_endpoint_update = Some(endpoints.worker_ids());
161148
continue 'outer;
162149
}
150+
151+
maybe_new_request = request_rx.recv() => {
152+
let Some(new_request) = maybe_new_request else {
153+
tracing::warn!("scheduler shutdown");
154+
break 'outer;
155+
};
156+
tracing::trace!("received request to be scheduled");
157+
new_request
158+
}
163159
};
164160

165161
loop {
@@ -181,6 +177,7 @@ impl KvScheduler {
181177
request.respond(response);
182178
continue 'outer;
183179
}
180+
// TODO: this is not actually hooked up
184181
Err(KvSchedulerError::AllWorkersBusy) => {
185182
tracing::trace!("all workers busy; waiting for more capacity");
186183
tokio::time::sleep(Duration::from_millis(5)).await;

0 commit comments

Comments
 (0)