vxcontrol/pentagi · error

failed to get flow vector store log: %w

Error message

failed to get flow vector store log: %w

What it means

Wraps a failure from cnts.vslc.GetFlowVectorStoreLog(ctx, flowID) while building the flow worker bundle; the vector-store log stream could not be fetched. Cause is preserved via %w. Failure aborts the whole flow log retrieval.

Source

Thrown at backend/pkg/controller/flow.go:1240

	mlw, err := cnts.mlc.GetFlowMsgLog(ctx, flowID)
	if err != nil {
		return nil, fmt.Errorf("failed to get flow msg log: %w", err)
	}

	slw, err := cnts.slc.GetFlowSearchLog(ctx, flowID)
	if err != nil {
		return nil, fmt.Errorf("failed to get flow search log: %w", err)
	}

	tlw, err := cnts.tlc.GetFlowTermLog(ctx, flowID)
	if err != nil {
		return nil, fmt.Errorf("failed to get flow term log: %w", err)
	}

	vslw, err := cnts.vslc.GetFlowVectorStoreLog(ctx, flowID)
	if err != nil {
		return nil, fmt.Errorf("failed to get flow vector store log: %w", err)
	}

	tclw, err := cnts.tclc.GetFlowToolCallLog(ctx, flowID)
	if err != nil {
		return nil, fmt.Errorf("failed to get flow tool call log: %w", err)
	}

	sw, err := cnts.sc.GetFlowScreenshot(ctx, flowID)
	if err != nil {
		return nil, fmt.Errorf("failed to get flow screenshot: %w", err)
	}

	return &flowProviderWorkers{
		mlw:  mlw,
		alw:  alw,
		slw:  slw,
		tlw:  tlw,
		vslw: vslw,

View on GitHub (pinned to ea665308ba)

Solutions

  1. Check the wrapped cause; if it mentions pgvector/extension, verify the extension is installed in the DB.
  2. Run all goose migrations to create vector-store-log tables.
  3. Confirm PostgreSQL connectivity and pool configuration.
  4. Retry if the cause is transient.
Defensive patterns

Strategy: try-catch

Validate before calling

// ensure pgvector is available
var ext string
err := db.QueryRow("SELECT extname FROM pg_extension WHERE extname='vector'").Scan(&ext)
if err != nil { /* pgvector missing — fix DB before querying vector store logs */ }

Type guard

func isVectorStoreLogError(err error) bool {
	return err != nil && strings.Contains(err.Error(), "failed to get flow vector store log")
}

Try / catch

vslw, err := cnts.vslc.GetFlowVectorStoreLog(ctx, flowID)
if err != nil {
	if isTransient(err) { /* retry */ }
	return nil, fmt.Errorf("failed to get flow vector store log: %w", err)
}

Prevention

When it happens

Trigger: Flow log retrieval where the vector-store-log query for flowID fails — e.g., pgvector tables missing/unavailable or the flow has no vector store entries and the store errors.

Common situations: pgvector extension not installed or upgraded; DB migration gap for vector-store tables; connection pool exhausted under load.

Related errors


AI-assisted analysis of vxcontrol/pentagi@ea665308ba (2026-09-01). Data as JSON: /api/errors/bab54413f979d1d6. Report an issue: GitHub.