When something goes wrong¶
A document is stuck in queued¶
Nothing is processing it. Either no ingestion worker is running, or the message broker is not configured.
This is a deployment state, not a lost document: the job exists and will run when a worker appears. See Deploying.
A document says unsupported¶
Primer could read the file but found nothing to index. The detail says which:
ocr_required— no text layer, and image reading is switched off.no_text_found— images were read as well, and there was still nothing.unsupported_media_type— the format is not one Primer parses.
An upload was rejected¶
| Code | Meaning |
|---|---|
unsupported_content |
The extension and the contents disagree, or the format is not supported |
quota_exceeded |
Larger than the configured upload limit |
validation_failed |
Missing or unusable filename |
not_found |
The library does not exist, or is not yours |
A document says failed¶
A stage failed after exhausting its retries. The detail carries a short, safe explanation; the full reason, including any stack trace, is in the worker logs, correlated by job id.
Common causes are an embedding endpoint that is unreachable and a document that takes longer to convert than the configured budget.
Everything returns 404¶
If every library and document reports "not found", the request is arriving as a different user than you expect. Primer derives your identity from headers set by the authenticating proxy; if the proxy is misconfigured, or the app is reached directly rather than through it, requests arrive as somebody else — or as nobody.
Reaching Primer directly bypasses authentication
Primer trusts its identity headers. It must not be reachable except through the proxy, or anyone can set those headers themselves. See Identity and access.