gastownhall/beads · error

Dolt server performance diagnostics do not apply to the conf

Error message

Dolt server performance diagnostics do not apply to the configured backend %q

What it means

RunDoltPerformanceDiagnostics only applies to Dolt-backed repositories. It checks IsDoltBackend(beadsDir); if false it reports the backend actually configured by getBackendAndBeadsDir so the user knows Dolt server diagnostics are inapplicable.

Source

Thrown at cmd/bd/doctor/perf_dolt.go:52

	ConnectionTime   int64 // Time to establish connection
	ReadyWorkTime    int64 // Time for GetReadyWork equivalent
	ListOpenTime     int64 // Time to list open issues
	ShowIssueTime    int64 // Time to get single issue
	ComplexQueryTime int64 // Time for complex filter query
	CommitLogTime    int64 // Time to query dolt_log

	// Profile file path if profiling was enabled
	ProfilePath string
}

// RunDoltPerformanceDiagnostics runs performance diagnostics for Dolt backend
func RunDoltPerformanceDiagnostics(path string, enableProfiling bool) (*DoltPerfMetrics, error) {
	beadsDir := ResolveBeadsDirForRepo(path)

	// Verify this is a Dolt backend
	if !IsDoltBackend(beadsDir) {
		backend, _ := getBackendAndBeadsDir(path)
		return nil, fmt.Errorf("Dolt server performance diagnostics do not apply to the configured backend %q", backend)
	}

	metrics := &DoltPerfMetrics{
		Platform:  fmt.Sprintf("%s/%s", runtime.GOOS, runtime.GOARCH),
		GoVersion: runtime.Version(),
	}

	// Resolve server config (handles standalone ephemeral ports)
	dsCfg := doltserver.DefaultConfig(beadsDir)

	// Check server status
	doltDir := getDatabasePath(beadsDir)
	serverRunning := isDoltServerRunning(dsCfg.Host, dsCfg.Port)
	if serverRunning {
		metrics.ServerStatus = "running"
	} else {
		metrics.ServerStatus = "not running"
	}

View on GitHub (pinned to 71377f2769)

Solutions

  1. Switch the repository to the Dolt backend ('bd init --backend dolt' or update config) if Dolt diagnostics are wanted
  2. Run backend-appropriate diagnostics instead of Dolt perf diagnostics
  3. Inspect the quoted backend name in the message and correct the config typo

Example fix

// before
_, err := RunDoltPerformanceDiagnostics(path, true)
// after
if IsDoltBackend(ResolveBeadsDirForRepo(path)) {
    _, err := RunDoltPerformanceDiagnostics(path, true)
}
Defensive patterns

Strategy: validation

Validate before calling

if !IsDoltBackend(ResolveBeadsDirForRepo(repo)) {
    return fmt.Errorf("repo %s is not Dolt-backed; skip Dolt perf diagnostics", repo)
}
_, err := RunDoltPerformanceDiagnostics(repo, true)

Try / catch

if err != nil && strings.Contains(err.Error(), "do not apply to the configured backend") {
    // route to the appropriate backend's diagnostics
}

Prevention

When it happens

Trigger: Calling RunDoltPerformanceDiagnostics (directly or via RunPerformanceDiagnostics/CheckDoltPerformance) on a repo whose config selects a non-Dolt backend (e.g. jsonl, sqlite) or an unknown backend value.

Common situations: Backend switched in config.json but stale tooling still invokes Dolt checks; running the same doctor command across repos with different backends; misconfigured or missing backend key defaulting away from Dolt.

Related errors


AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30). Data as JSON: /api/errors/448c6560459f6663. Report an issue: GitHub.