{"record":{"id":"2097e205d74a6aac","repo":"conductor-oss/conductor","slug":"vectordb-not-found-vectordbname","errorCode":null,"errorMessage":"VectorDB not found: <vectorDBName>","messagePattern":"VectorDB not found: <vectorDBName>","errorType":"exception","errorClass":"NonRetryableException","httpStatus":null,"severity":"error","filePath":"ai/src/main/java/org/conductoross/conductor/ai/vectordb/VectorDBs.java","lineNumber":49,"sourceCode":"\n    public VectorDBs(VectorDBProvider vectorDBProvider) {\n        this.vectorDBProvider = vectorDBProvider;\n        log.info(\"vectorDBProvider: {}\", vectorDBProvider);\n    }\n\n    public int storeEmbeddings(\n            String vectorDBName,\n            TaskContext context,\n            String indexName,\n            String namespace,\n            String text,\n            String parentDocId,\n            String id,\n            List<Float> embeddings,\n            Map<String, Object> metadata) {\n        VectorDB db = vectorDBProvider.get(vectorDBName, context);\n        if (db == null) {\n            throw new NonRetryableException(\"VectorDB not found: \" + vectorDBName);\n        }\n        return db.updateEmbeddings(\n                indexName, namespace, text, parentDocId, id, embeddings, metadata);\n    }\n\n    public List<IndexedDoc> searchEmbeddings(\n            String vectorDBName,\n            TaskContext context,\n            String indexName,\n            String namespace,\n            List<Float> embeddings,\n            int maxResults) {\n        VectorDB db = vectorDBProvider.get(vectorDBName, context);\n        if (db == null) {\n            throw new NonRetryableException(\"VectorDB not found: \" + vectorDBName);\n        }\n        return db.search(indexName, namespace, embeddings, maxResults);\n    }","sourceCodeStart":31,"sourceCodeEnd":67,"githubUrl":"https://github.com/conductor-oss/conductor/blob/cf7c3e4a8adfb158be778ab1ec525323c363cd3a/ai/src/main/java/org/conductoross/conductor/ai/vectordb/VectorDBs.java#L31-L67","documentation":"Thrown as NonRetryableException by VectorDBs.storeEmbeddings when vectorDBProvider.get(vectorDBName, context) returns null. The named vector database integration is not registered/available in the provider, so Conductor cannot persist embeddings. Fails the task terminally because no amount of retries will register a missing integration.","triggerScenarios":"Calling storeEmbeddings with a vectorDBName that no registered VectorDB provider supplies; referencing an integration name that is misconfigured or disabled; provider not yet initialized at call time.","commonSituations":"Typo in the vectorDB name in the workflow; the integration (e.g. 'pinecone', 'postgres', 'mongodb') bean is not on the classpath or not configured; config prefix mismatch so the provider never registered the bean; env-specific deployment missing the integration module.","solutions":["Check the exact vectorDBName spelling in the task input against the registered integration names.","Ensure the target integration module is on the classpath and its config (e.g. conductor.vectordb.*) is set so the provider registers it.","List/log the available vectorDB names from vectorDBProvider to confirm what is registered.","If dynamically named, verify the name is resolved from a non-empty config/template variable."],"exampleFix":"// before\nvectorDBs.storeEmbeddings(\"pincone\", ctx, ...);  // typo\n// after\nvectorDBs.storeEmbeddings(\"pinecone\", ctx, ...);","handlingStrategy":"validation","validationCode":"// Check the integration is registered before storing\nif (vectorDBProvider.get(vectorDBName, context) == null) {\n    throw new IllegalStateException(\"vectorDB '\" + vectorDBName + \"' is not registered; check config\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Centralize the vectorDB name as a config constant to avoid typos.","Log available provider names at startup.","Ensure the integration module + config are present in every environment."],"tags":["vectordb","configuration","non-retryable","provider"],"backgroundTag":null,"analyzedSha":"cf7c3e4a8adfb158be778ab1ec525323c363cd3a","analyzedAt":"2026-08-14T03:33:19.897Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}