Tencent/WeKnora · error
failed to ensure FAQ knowledge: %w
Error message
failed to ensure FAQ knowledge: %w
What it means
Thrown when ensureFAQKnowledge fails to find or create the FAQ-type knowledge record for the knowledge base before importing entries. Wraps the underlying repository/persistence error; fires when the FAQ knowledge row is missing and cannot be auto-created, or the database is unreachable.
Source
Thrown at internal/application/service/knowledge_faq_import.go:70
taskID = secutils.GenerateTaskID("faq_import", tenantID, kbID)
}
var knowledgeID string
// 检查是否有正在进行的导入任务(通过Redis)
runningTaskID, err := s.getRunningFAQImportTaskID(ctx, kbID)
if err != nil {
logger.Errorf(ctx, "Failed to check running import task: %v", err)
// 检查失败不影响导入,继续执行
} else if runningTaskID != "" {
logger.Warnf(ctx, "Import task already running for KB %s: %s", kbID, runningTaskID)
return "", werrors.NewBadRequestError(fmt.Sprintf("该知识库已有导入任务正在进行中(任务ID: %s),请等待完成后再试", runningTaskID))
}
// 确保 FAQ knowledge 存在
faqKnowledge, err := s.ensureFAQKnowledge(ctx, tenantID, kb)
if err != nil {
return "", fmt.Errorf("failed to ensure FAQ knowledge: %w", err)
}
knowledgeID = faqKnowledge.ID
// 记录任务入队时间
enqueuedAt := time.Now().Unix()
instanceID := uuid.NewString()
runningInfoSet := false
enqueueSucceeded := false
// 设置 KB 的运行中任务信息
if err := s.setRunningFAQImportInfo(ctx, kbID, &runningFAQImportInfo{
TaskID: taskID,
EnqueuedAt: enqueuedAt,
InstanceID: instanceID,
}); err != nil {
logger.Errorf(ctx, "Failed to set running FAQ import task info: %v", err)
// 不影响任务执行,继续
} else {View on GitHub (pinned to 988cbb0330)
Solutions
- Check database connectivity and retry the import
- Verify the knowledge base exists and the FAQ knowledge record can be created (tenant quota, permissions)
- Inspect the wrapped error for the exact repository failure
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at internal/application/service/knowledge_faq_import.go:70 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/25f41c9e4429144e.
Report an issue: GitHub.