Skip to content

Commit f35f05e

Browse files
committed
Update function names and remove extra methods. Also don't fail request if prepare data call fails
1 parent acd9db0 commit f35f05e

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

pkg/epp/requestcontrol/director.go

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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.
368360
func 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.
395388
func (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

Comments
 (0)