Tencent/WeKnora · error

enqueue wiki ingest pending op: %w

Error message

enqueue wiki ingest pending op: %w

What it means

EnqueueWikiIngest wraps the failure of persisting the wiki ingest pending op (newWikiIngestPendingOp or the pending-ops repo write). The re-ingest request cannot be queued, so the knowledge's wiki ingest will not run until retried.

Source

Thrown at internal/application/service/wiki_ingest.go:523

	pendingRepo interfaces.TaskPendingOpsRepository,
	tenantID uint64,
	kbID, knowledgeID string,
) (bool, error) {
	pendingOp, err := newWikiIngestPendingOp(ctx, tenantID, kbID, knowledgeID)

	// Persist the pending op. A re-ingest of the same knowledge id while
	// a previous op is still queued simply appends another row; the
	// peekPendingList consumer collapses by dedup_key (== knowledge_id),
	// keeping the LATEST op for each knowledge — matching the legacy
	// "RPush + reverse-dedupe" semantics.
	if err != nil {
		logger.Warnf(ctx, "wiki ingest: failed to marshal pending op for %s: %v", knowledgeID, err)
		return false, err
	}
	accepted, err := enqueueWikiPendingOp(ctx, pendingRepo, pendingOp)
	if err != nil {
		logger.Warnf(ctx, "wiki ingest: failed to enqueue pending op for %s: %v", knowledgeID, err)
		return false, fmt.Errorf("enqueue wiki ingest pending op: %w", err)
	}
	if !accepted {
		logger.Infof(ctx, "wiki ingest: skip enqueue for deleted KB %s", kbID)
		return false, nil
	}
	if err := enqueueWikiIngestTrigger(ctx, task, tenantID, kbID); err != nil {
		return true, err
	}
	return true, nil
}

func newWikiIngestPendingOp(
	ctx context.Context,
	tenantID uint64,
	kbID, knowledgeID string,
) (*types.TaskPendingOp, error) {
	lang := types.LanguageFromContextOrDefault(ctx)
	op := WikiPendingOp{

View on GitHub (pinned to 988cbb0330)

Solutions

  1. Check the task pending-ops store availability
  2. Inspect the wrapped marshal/persist cause
  3. Retry the ingest enqueue; duplicate ops are deduplicated by knowledge_id
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at internal/application/service/wiki_ingest.go:523 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/1d4bb0534ba0329f. Report an issue: GitHub.