Tencent/WeKnora · error
unsupported engine type: %s
Error message
unsupported engine type: %s
What it means
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.
Source
Thrown at internal/container/engine_factory.go:86
return createPostgresEngine(store, db)
case types.ElasticsearchRetrieverEngineType:
return createElasticsearchEngine(store, cfg)
case types.QdrantRetrieverEngineType:
return createQdrantEngine(store)
case types.MilvusRetrieverEngineType:
return createMilvusEngine(ctx, store)
case types.WeaviateRetrieverEngineType:
return createWeaviateEngine(store)
case types.DorisRetrieverEngineType:
return createDorisEngine(store)
case types.SQLiteRetrieverEngineType:
return createSQLiteEngine(store, db)
case types.TencentVectorDBRetrieverEngineType:
return createTencentVectorDBEngine(store)
case types.OpenSearchRetrieverEngineType:
return createOpenSearchEngine(ctx, store, auditSink)
default:
return nil, fmt.Errorf("unsupported engine type: %s", store.EngineType)
}
}
// validateRuntimeVectorStoreAddresses is the final guard for persisted or
// imported vector-store rows. Create/test handlers validate the same fields at
// the input boundary, but runtime construction must not assume every stored row
// was written through those handlers.
func validateRuntimeVectorStoreAddresses(store types.VectorStore) error {
cc := store.ConnectionConfig
check := func(label, endpoint string) error {
endpoint = strings.TrimSpace(endpoint)
if endpoint == "" {
return nil
}
if err := utils.ValidateURLForSSRF(endpoint); err != nil {
return fmt.Errorf("%s failed SSRF validation: %w", label, err)
}
return nilView on GitHub (pinned to 988cbb0330)
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
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/container/engine_factory.go:86 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/71f55fd7b6f6a325.
Report an issue: GitHub.