@@ -174,11 +174,12 @@ func (d *Director) HandleRequest(ctx context.Context, reqCtx *handlers.RequestCo
174174
175175 // Prepare per request data by running PrepareData plugins.
176176 if d .runPrepareDataPlugins (ctx , reqCtx .SchedulingRequest , snapshotOfCandidatePods ) != nil {
177- return reqCtx , errutil.Error {Code : errutil .Internal , Msg : "failed to prepare request data" }
177+ // Don't fail the request if PrepareData plugins fail.
178+ logger .V (logutil .DEFAULT ).Error (err , "failed to prepare per request data" )
178179 }
179180
180181 // Run admit request plugins
181- if ! d .withAdmissionPlugins (ctx , reqCtx .SchedulingRequest , snapshotOfCandidatePods ) {
182+ if ! d .runAdmissionPlugins (ctx , reqCtx .SchedulingRequest , snapshotOfCandidatePods ) {
182183 logger .V (logutil .DEFAULT ).Info ("Request cannot be admitted" )
183184 return reqCtx , errutil.Error {Code : errutil .Internal , Msg : "request cannot be admitted" }
184185 }
@@ -354,15 +355,6 @@ func (d *Director) runPreRequestPlugins(ctx context.Context, request *scheduling
354355
355356// executePlugins executes PrepareDataPlugins sequentially.
356357// TODO: Change to DAG execution in the following PRs.
357- func (d * Director ) executePlugins (ctx context.Context , request * schedulingtypes.LLMRequest , pods []schedulingtypes.Pod , plugins []PrepareDataPlugin ) error {
358- for _ , plugin := range plugins {
359- err := prepareDataWithRetriesAndTimeout (plugin , ctx , request , pods )
360- if err != nil {
361- return err
362- }
363- }
364- return nil
365- }
366358
367359// prepareDataWithRetriesAndTimeout executes the PrepareRequestData plugins with retries and timeout.
368360func prepareDataWithRetriesAndTimeout (plugin PrepareDataPlugin , ctx context.Context , request * schedulingtypes.LLMRequest , pods []schedulingtypes.Pod ) error {
@@ -392,18 +384,20 @@ func prepareDataWithRetriesAndTimeout(plugin PrepareDataPlugin, ctx context.Cont
392384 return nil
393385}
394386
387+ // TODO: Execute plugins in parallel once DAG execution is supported.
395388func (d * Director ) runPrepareDataPlugins (ctx context.Context ,
396389 request * schedulingtypes.LLMRequest , pods []schedulingtypes.Pod ) error {
397- err := d .executePlugins (ctx , request , pods , d .requestControlPlugins .prepareDataPlugins )
398- if err != nil {
399- log .FromContext (ctx ).Error (err , "failed to execute PrepareData plugins as DAG, falling back to parallel execution" )
400- return err
390+ for _ , plugin := range d .requestControlPlugins .prepareDataPlugins {
391+ err := prepareDataWithRetriesAndTimeout (plugin , ctx , request , pods )
392+ if err != nil {
393+ return err
394+ }
401395 }
402396
403397 return nil
404398}
405399
406- func (d * Director ) withAdmissionPlugins (ctx context.Context ,
400+ func (d * Director ) runAdmissionPlugins (ctx context.Context ,
407401 request * schedulingtypes.LLMRequest , pods []schedulingtypes.Pod ) bool {
408402 loggerDebug := log .FromContext (ctx ).V (logutil .DEBUG )
409403 for _ , plugin := range d .requestControlPlugins .admissionPlugins {
0 commit comments