Crosstalk-Solutions/project-nomad · error
Error during re-embed all
Error message
Error during re-embed all
What it means
Catch-all 500: ragService.reembedAll() threw while re-embedding every document (embedding API failures, Qdrant write errors, or DB iteration errors).
Source
Thrown at admin/app/controllers/rag_controller.ts:197
}
public async scanAndSync({ response }: HttpContext) {
try {
const syncResult = await this.ragService.scanAndSyncStorage()
return response.status(200).json(syncResult)
} catch (error) {
logger.error({ err: error }, '[RagController] Error scanning and syncing storage')
return response.status(500).json({ error: 'Error scanning and syncing storage' })
}
}
public async reembedAll({ response }: HttpContext) {
try {
const result = await this.ragService.reembedAll()
return response.status(200).json(result)
} catch (error) {
logger.error({ err: error }, '[RagController] Error during re-embed all')
return response.status(500).json({ error: 'Error during re-embed all' })
}
}
public async resetAndRebuild({ response }: HttpContext) {
try {
const result = await this.ragService.resetAndRebuild()
return response.status(200).json(result)
} catch (error) {
logger.error({ err: error }, '[RagController] Error during reset and rebuild')
return response.status(500).json({ error: 'Error during reset and rebuild' })
}
}
public async health({ response }: HttpContext) {
const result = await this.ragService.checkQdrantHealth()
return response.status(200).json(result)
}
View on GitHub (pinned to 0bd1c6f4f9)
Solutions
- Check embedding provider credentials and connectivity first.
- Confirm embedding model/dimensions match the existing Qdrant collection config.
- Check server logs for the exact thrown error.
- If dims changed, recreate the collection (resetAndRebuild) or point to the correct model.
Defensive patterns
Strategy: retry
Validate before calling
await embeddingProvider.ping() // verify provider reachable await qdrantHealth()
Try / catch
for (let i = 0; i < 3; i++) { try { await reembedAll(); break } catch (e) { await sleep(backoff(i)) } } Prevention
- Verify embedding credentials before bulk jobs
- Pin embedding model to avoid dimension drift
- Rate-limit requests for large corpora
When it happens
Trigger: Embedding provider (OpenAI/local embedder) unreachable, out of quota, or rate-limited; Qdrant write failure; invalid embedding dimension vs collection config.
Common situations: Missing/expired EMBEDDINGS_API_KEY; embedding model changed so vector dims no longer match the Qdrant collection; rate limits on a large corpus; Qdrant container restarted mid-run.
Related errors
AI-assisted analysis of Crosstalk-Solutions/project-nomad@0bd1c6f4f9 (2026-08-27).
Data as JSON: /api/errors/88ced1a9cd98c3cb.
Report an issue: GitHub.