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

  1. Inspect the knowledge metadata JSON for truncation or schema drift
  2. Re-run an import to overwrite the stored result with a fresh, well-formed record
  3. 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


AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02). Data as JSON: /api/errors/0c30a70bb4050766. Report an issue: GitHub.