Tencent/WeKnora · error
failed to parse FAQ import result: %w
Error message
failed to parse FAQ import result: %w
What it means
Thrown when GetLastFAQImportResult fails to unmarshal the last import result stored in the FAQ knowledge's metadata. Means the stored metadata JSON is corrupt or has an incompatible schema, not that a database call failed.
Source
Thrown at internal/application/service/knowledge_faq_import.go:2837
}
// 查找FAQ类型的knowledge
var faqKnowledge *types.Knowledge
for _, k := range knowledgeList {
if k.Type == types.KnowledgeTypeFAQ {
faqKnowledge = k
break
}
}
if faqKnowledge == nil {
return werrors.NewNotFoundError("FAQ knowledge not found in this knowledge base")
}
// 解析当前的导入结果
result, err := faqKnowledge.GetLastFAQImportResult()
if err != nil {
return fmt.Errorf("failed to parse FAQ import result: %w", err)
}
if result == nil {
return werrors.NewNotFoundError("no FAQ import result found")
}
// 更新显示状态
result.DisplayStatus = displayStatus
// 保存更新后的结果
if err := faqKnowledge.SetLastFAQImportResult(result); err != nil {
return fmt.Errorf("failed to set FAQ import result: %w", err)
}
// 更新数据库
if err := s.repo.UpdateKnowledge(ctx, faqKnowledge); err != nil {
return fmt.Errorf("failed to update knowledge: %w", err)
}View on GitHub (pinned to 988cbb0330)
Solutions
- Inspect the knowledge metadata JSON for truncation or schema drift
- Re-run an import to overwrite the stored result with a fresh, well-formed record
- Add migration/validation for legacy metadata formats
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at internal/application/service/knowledge_faq_import.go:2837 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/0c30a70bb4050766.
Report an issue: GitHub.