From b464b48f53e6eda17813d684909254819ac599e3 Mon Sep 17 00:00:00 2001 From: Classic298 <27028174+Classic298@users.noreply.github.com> Date: Sun, 11 Jan 2026 20:32:27 +0100 Subject: [PATCH] Merge pull request #20581 from Classic298/fix/db-pool-memory-update fix(db): release connection before embedding in memory /{memory_id}/update --- backend/open_webui/routers/memories.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/open_webui/routers/memories.py b/backend/open_webui/routers/memories.py index e0ba36c76..b05e0c7a7 100644 --- a/backend/open_webui/routers/memories.py +++ b/backend/open_webui/routers/memories.py @@ -252,8 +252,11 @@ async def update_memory_by_id( request: Request, form_data: MemoryUpdateModel, user=Depends(get_verified_user), - db: Session = Depends(get_session), ): + # NOTE: We intentionally do NOT use Depends(get_session) here. + # Database operations (update_memory_by_id_and_user_id) manage their own + # short-lived sessions. This prevents holding a connection during + # EMBEDDING_FUNCTION() which makes external API calls (1-5+ seconds). if not request.app.state.config.ENABLE_MEMORIES: raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, @@ -269,7 +272,7 @@ async def update_memory_by_id( ) memory = Memories.update_memory_by_id_and_user_id( - memory_id, user.id, form_data.content, db=db + memory_id, user.id, form_data.content ) if memory is None: raise HTTPException(status_code=404, detail="Memory not found")