{"record":{"id":"71f55fd7b6f6a325","repo":"Tencent/WeKnora","slug":"unsupported-engine-type-s","errorCode":null,"errorMessage":"unsupported engine type: %s","messagePattern":"unsupported engine type: (.+?)","errorType":"validation","errorClass":null,"httpStatus":400,"severity":"error","filePath":"internal/container/engine_factory.go","lineNumber":86,"sourceCode":"\t\treturn createPostgresEngine(store, db)\n\tcase types.ElasticsearchRetrieverEngineType:\n\t\treturn createElasticsearchEngine(store, cfg)\n\tcase types.QdrantRetrieverEngineType:\n\t\treturn createQdrantEngine(store)\n\tcase types.MilvusRetrieverEngineType:\n\t\treturn createMilvusEngine(ctx, store)\n\tcase types.WeaviateRetrieverEngineType:\n\t\treturn createWeaviateEngine(store)\n\tcase types.DorisRetrieverEngineType:\n\t\treturn createDorisEngine(store)\n\tcase types.SQLiteRetrieverEngineType:\n\t\treturn createSQLiteEngine(store, db)\n\tcase types.TencentVectorDBRetrieverEngineType:\n\t\treturn createTencentVectorDBEngine(store)\n\tcase types.OpenSearchRetrieverEngineType:\n\t\treturn createOpenSearchEngine(ctx, store, auditSink)\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unsupported engine type: %s\", store.EngineType)\n\t}\n}\n\n// validateRuntimeVectorStoreAddresses is the final guard for persisted or\n// imported vector-store rows. Create/test handlers validate the same fields at\n// the input boundary, but runtime construction must not assume every stored row\n// was written through those handlers.\nfunc validateRuntimeVectorStoreAddresses(store types.VectorStore) error {\n\tcc := store.ConnectionConfig\n\tcheck := func(label, endpoint string) error {\n\t\tendpoint = strings.TrimSpace(endpoint)\n\t\tif endpoint == \"\" {\n\t\t\treturn nil\n\t\t}\n\t\tif err := utils.ValidateURLForSSRF(endpoint); err != nil {\n\t\t\treturn fmt.Errorf(\"%s failed SSRF validation: %w\", label, err)\n\t\t}\n\t\treturn nil","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/Tencent/WeKnora/blob/988cbb03305e055d8ebb7d46d9ac6cc0803cd074/internal/container/engine_factory.go#L68-L104","documentation":"createEngineServiceFromStore's default case: the vector store's EngineType doesn't match any supported engine (postgres, elasticsearch, qdrant, milvus, weaviate, doris, sqlite, tencent vectordb, opensearch). A persisted or imported row carries an unknown/unregistered engine type.","triggerScenarios":"Thrown at internal/container/engine_factory.go:86 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Correct the store's engine_type to a supported value","Check migration/import code wrote a valid engine type","Add a factory case if a new engine type was introduced"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"988cbb03305e055d8ebb7d46d9ac6cc0803cd074","analyzedAt":"2026-09-02T14:41:08.344Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}