From c6d7dc01a015675c5b876912599030860aebbc43 Mon Sep 17 00:00:00 2001 From: Jeff Mitchell Date: Mon, 1 May 2023 14:20:27 -0400 Subject: [PATCH] Exit before filtering if no workers are listed (#3196) This is just an early error message to avoid running the filtering function if there are no workers to begin with. --- .../daemon/controller/handlers/targets/target_service.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/daemon/controller/handlers/targets/target_service.go b/internal/daemon/controller/handlers/targets/target_service.go index 29aeac37e..2810eaf7f 100644 --- a/internal/daemon/controller/handlers/targets/target_service.go +++ b/internal/daemon/controller/handlers/targets/target_service.go @@ -870,6 +870,12 @@ func (s Service) AuthorizeSession(ctx context.Context, req *pbs.AuthorizeSession return nil, err } + if len(selectedWorkers) == 0 { + return nil, handlers.ApiErrorWithCodeAndMessage( + codes.FailedPrecondition, + "No workers are available to handle this session.") + } + selectedWorkers, err = AuthorizeSessionWorkerFilterFn(ctx, t, selectedWorkers, h, s.downstreams) if err != nil { return nil, err