[PR #20577] [MERGED] fix(db): release connection before embeddings in knowledge /metadata/reindex #48730

Closed
opened 2026-04-30 00:46:28 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/20577
Author: @Classic298
Created: 1/11/2026
Status: Merged
Merged: 1/11/2026
Merged by: @tjbck

Base: devHead: fix/db-pool-knowledge-metadata-reindex


📝 Commits (1)

  • a5f1e22 fix(db): release connection before embeddings in knowledge /metadata/reindex

📊 Changes

1 file changed (+8 additions, -3 deletions)

View changed files

📝 backend/open_webui/routers/knowledge.py (+8 -3)

📄 Description

Remove Depends(get_session) from POST /metadata/reindex endpoint to prevent database connections from being held during N embedding API calls.

This endpoint is CRITICAL as it loops through ALL knowledge bases and calls embed_knowledge_base_metadata() for each one. With the original code, a single connection would be held for the entire duration (potentially minutes for large deployments), completely exhausting the pool.

The Knowledges.get_knowledge_bases() function manages its own short-lived session, releasing the connection before the embedding loop begins.

Contributor License Agreement

By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.

Note

Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/20577 **Author:** [@Classic298](https://github.com/Classic298) **Created:** 1/11/2026 **Status:** ✅ Merged **Merged:** 1/11/2026 **Merged by:** [@tjbck](https://github.com/tjbck) **Base:** `dev` ← **Head:** `fix/db-pool-knowledge-metadata-reindex` --- ### 📝 Commits (1) - [`a5f1e22`](https://github.com/open-webui/open-webui/commit/a5f1e22aeeefe9a10b9bc1cc7f2de4b9ec7c39b1) fix(db): release connection before embeddings in knowledge /metadata/reindex ### 📊 Changes **1 file changed** (+8 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/routers/knowledge.py` (+8 -3) </details> ### 📄 Description Remove Depends(get_session) from POST /metadata/reindex endpoint to prevent database connections from being held during N embedding API calls. This endpoint is CRITICAL as it loops through ALL knowledge bases and calls embed_knowledge_base_metadata() for each one. With the original code, a single connection would be held for the entire duration (potentially minutes for large deployments), completely exhausting the pool. The Knowledges.get_knowledge_bases() function manages its own short-lived session, releasing the connection before the embedding loop begins. ### Contributor License Agreement By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. > [!NOTE] > Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-30 00:46:28 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#48730