Tencent/WeKnora · error

failed to list knowledge: %w

Error message

failed to list knowledge: %w

What it means

Thrown by UpdateLastFAQImportResultDisplayStatus when repo.ListKnowledgeByKnowledgeBaseID fails to list knowledge for the KB. A database read failure while locating the FAQ knowledge whose import-result display status should change.

Source

Thrown at internal/application/service/knowledge_faq_import.go:2818

	}

	return &progress, nil
}

// UpdateLastFAQImportResultDisplayStatus updates the display status of FAQ import result
func (s *knowledgeService) UpdateLastFAQImportResultDisplayStatus(ctx context.Context, kbID string, displayStatus string) error {
	// 验证displayStatus参数
	if displayStatus != "open" && displayStatus != "close" {
		return werrors.NewBadRequestError("invalid display status, must be 'open' or 'close'")
	}

	// 获取当前空间ID
	tenantID := ctx.Value(types.TenantIDContextKey).(uint64)

	// 查找FAQ类型的knowledge
	knowledgeList, err := s.repo.ListKnowledgeByKnowledgeBaseID(ctx, tenantID, kbID)
	if err != nil {
		return fmt.Errorf("failed to list knowledge: %w", err)
	}

	// 查找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 {

View on GitHub (pinned to 988cbb0330)

Solutions

  1. Check database connectivity and retry the request
  2. Verify the knowledge base ID and tenant context are correct
  3. Inspect the wrapped repository error for timeouts or filters
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at internal/application/service/knowledge_faq_import.go:2818 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/29e375723284e1d7. Report an issue: GitHub.