VictoriaMetrics/VictoriaMetrics · error

cannot write topHeapEntry name: %w

Error message

cannot write topHeapEntry name: %w

What it means

Fires in writeTopHeapEntries when writing an entry's Name string to the vmselect connection fails mid-stream. The response payload is abandoned at that entry; the root cause is a transport failure on the RPC connection.

Source

Thrown at lib/vmselectapi/server.go:963

	if err := writeTopHeapEntries(ctx, status.SeriesCountByLabelValuePair); err != nil {
		return fmt.Errorf("cannot write seriesCountByLabelValuePair to vmselect: %w", err)
	}
	if err := writeTopHeapEntries(ctx, status.LabelValueCountByLabelName); err != nil {
		return fmt.Errorf("cannot write labelValueCountByLabelName to vmselect: %w", err)
	}
	if err := writeMetricNameStatRecords(ctx, status.SeriesQueryStatsByMetricName); err != nil {
		return fmt.Errorf("cannot write SeriesMetricNamesStats: %w", err)
	}
	return nil
}

func writeTopHeapEntries(ctx *vmselectRequestCtx, a []storage.TopHeapEntry) error {
	if err := ctx.writeUint64(uint64(len(a))); err != nil {
		return fmt.Errorf("cannot write topHeapEntries size: %w", err)
	}
	for _, e := range a {
		if err := ctx.writeString(e.Name); err != nil {
			return fmt.Errorf("cannot write topHeapEntry name: %w", err)
		}
		if err := ctx.writeUint64(e.Count); err != nil {
			return fmt.Errorf("cannot write topHeapEntry count: %w", err)
		}
	}
	return nil
}

func (s *Server) processSearchMetricNames(ctx *vmselectRequestCtx) error {
	s.searchMetricNamesRequests.Inc()

	// Read request.
	if err := ctx.readSearchQuery(); err != nil {
		return err
	}

	if err := s.beginConcurrentRequest(ctx); err != nil {
		return ctx.writeErrorMessage(err)

View on GitHub (pinned to 5079fb58f1)

Solutions

  1. Check for network interruptions or connection resets in logs
  2. Verify vmselect liveness and protocol version match
  3. Retry the TSDB status request
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at lib/vmselectapi/server.go:963 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of VictoriaMetrics/VictoriaMetrics@5079fb58f1 (2026-09-03). Data as JSON: /api/errors/3f6c4f63411bf782. Report an issue: GitHub.