mirror of
https://github.com/open-webui/oikb.git
synced 2026-11-05 01:27:25 +00:00
[GH-ISSUE #23] False-positive "partial" status when OWUI processing is slower than client HTTP timeout #14
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
open-webui/oikb#14
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @dvystrcil on GitHub (Jun 4, 2026).
Original GitHub issue: https://github.com/open-webui/oikb/issues/23
Summary
When syncing a GitHub source to a large/slow Open WebUI instance, the daemon reports
status: "partial"with per-filetimed outerrors that are actually false positives — the file uploads completed server-side, but oikb's HTTP client gave up waiting before getting the response.Repro
oikb daemonv0.3.5 against an Open WebUI instance whose RAG embedding pipeline takes ~10–30 seconds per file (typical for self-hosted embedders on modest hardware)Observed
GET /healthreports (paraphrased):But the Knowledge Base, queried directly via Open WebUI's
GET /api/v1/knowledge/{kb_id}/files, shows all 86 files attached. The "timed out" files are in there.The mismatch is between:
files_addedcounter, incremented only when the HTTP POST returns within the client-side timeoutWhy this matters
A
partialstatus is supposed to signal "you need to investigate / retry." But here, no investigation is needed and a retry actively makes things worse — the second sync sees the same files as "needing upload" (because the daemon's bookkeeping doesn't know they landed), re-uploads them, and times out again. We watched a 23-minute initial sync followed by a retry that crashed on{"sync state":"error","added":0,"errs":0}because the recheck hit the same timeout wall.Suggested fix (one of these)
GET /api/v1/knowledge/{kb_id}/filesquery after the timeout would let oikb distinguish "client gave up" from "server didn't process."defaults.http-timeout: 5min.oikb.yaml(or environment variable) would let operators dial this up for slow OWUI installs.Environment
ghcr.io/open-webui/oikb:latestdigest from 2026-06-04)concurrency: 4,interval: 1hHappy to provide more logs / .oikb.yaml details if useful.