From 76fba02e565931499f9c4d9824a658dbfe8c3826 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Thu, 19 Feb 2026 17:18:38 +0100 Subject: [PATCH] fix: do not keep track model if not existing (#8603) Signed-off-by: Ettore Di Giacinto --- pkg/model/process.go | 6 +++++- pkg/model/watchdog.go | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/model/process.go b/pkg/model/process.go index cbf016acf..aab2e9aa3 100644 --- a/pkg/model/process.go +++ b/pkg/model/process.go @@ -17,11 +17,15 @@ import ( var forceBackendShutdown bool = os.Getenv("LOCALAI_FORCE_BACKEND_SHUTDOWN") == "true" +var ( + modelNotFoundErr = errors.New("model not found") +) + func (ml *ModelLoader) deleteProcess(s string) error { model, ok := ml.models[s] if !ok { xlog.Debug("Model not found", "model", s) - return fmt.Errorf("model %s not found", s) + return modelNotFoundErr } retries := 1 diff --git a/pkg/model/watchdog.go b/pkg/model/watchdog.go index 2d50ad819..18d98ddbc 100644 --- a/pkg/model/watchdog.go +++ b/pkg/model/watchdog.go @@ -540,7 +540,7 @@ func (wd *WatchDog) evictLRUModel() { wd.Unlock() // Shutdown the model - if err := wd.pm.ShutdownModel(lruModel.model); err != nil { + if err := wd.pm.ShutdownModel(lruModel.model); err != nil && err != modelNotFoundErr { xlog.Error("[WatchDog] error shutting down model during memory reclamation", "error", err, "model", lruModel.model) } else { // Untrack the model