Tencent/WeKnora · error

marshal wiki ingest trigger: %w

Error message

marshal wiki ingest trigger: %w

What it means

enqueueWikiIngestTrigger wraps json.Marshal failure of the WikiIngestPayload trigger task (including langfuse tracing fields). The trigger cannot be enqueued, so background wiki ingestion won't start for this knowledge base.

Source

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

}

func enqueueWikiIngestTrigger(
	ctx context.Context,
	task interfaces.TaskEnqueuer,
	tenantID uint64,
	kbID string,
) error {
	lang := types.LanguageFromContextOrDefault(ctx)
	trigger := WikiIngestPayload{
		TenantID:        tenantID,
		KnowledgeBaseID: kbID,
		Language:        lang,
	}
	langfuse.InjectTracing(ctx, &trigger)
	triggerBytes, err := json.Marshal(trigger)
	if err != nil {
		logger.Warnf(ctx, "wiki ingest: failed to marshal trigger task: %v", err)
		return fmt.Errorf("marshal wiki ingest trigger: %w", err)
	}
	if task == nil {
		return errors.New("enqueue wiki ingest trigger: task enqueuer is nil")
	}

	t := asynq.NewTask(types.TypeWikiIngest, triggerBytes,
		asynq.Queue(types.QueueWiki),
		asynq.MaxRetry(wikiIngestMaxRetry),
		asynq.Timeout(60*time.Minute),
		asynq.ProcessIn(wikiIngestDelay),
	)
	if _, err := task.Enqueue(t); err != nil {
		logger.Warnf(ctx, "wiki ingest: failed to enqueue trigger task: %v", err)
		return fmt.Errorf("enqueue wiki ingest trigger: %w", err)
	}
	return nil
}

View on GitHub (pinned to 988cbb0330)

Solutions

  1. Inspect the wrapped marshal error
  2. Check tracing injection produced marshal-safe fields
  3. Retry the trigger enqueue
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at internal/application/service/wiki_ingest.go:577 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/6ea0df481adccd2b. Report an issue: GitHub.