ipfs/kubo · error

failed to query datastore: %w

Error message

failed to query datastore: %w

What it means

'ipfs diag ds count' failed to start a prefix query over the debugging datastore. %w is the underlying ds.Query error; typical causes are a locked datastore (daemon running) or storage-level failure. Debugging/testing command only.

Source

Thrown at core/commands/diag.go:299

	NoRemote: true,
	PreRun:   DaemonNotRunning,
	Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
		ds, closer, err := openDiagDatastore(env)
		if err != nil {
			return err
		}
		defer closer()

		prefix := req.Arguments[0]

		q := query.Query{
			Prefix:   prefix,
			KeysOnly: true,
		}

		results, err := ds.Query(req.Context, q)
		if err != nil {
			return fmt.Errorf("failed to query datastore: %w", err)
		}
		defer results.Close()

		var count int64
		for result := range results.Next() {
			if result.Error != nil {
				return fmt.Errorf("query error: %w", result.Error)
			}
			count++
		}

		return cmds.EmitOnce(res, &diagDatastoreCountResult{
			Prefix: prefix,
			Count:  count,
		})
	},
	Type: diagDatastoreCountResult{},
	Encoders: cmds.EncoderMap{

View on GitHub (pinned to 329838acdf)

Solutions

  1. Ensure the daemon is not running so the datastore is not locked
  2. Check the repo directory permissions and disk health
  3. Retry after the underlying storage issue is resolved
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at core/commands/diag.go:299 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03). Data as JSON: /api/errors/e951808358975af4. Report an issue: GitHub.