thanos-io/thanos · error

filter blocks marked for no compaction

Error message

filter blocks marked for no compaction

What it means

The NoCompactMarkFilter's fetch pass failed while concurrently checking blocks for no-compact marks (worker error or context cancellation). The filter's mark map is not updated and the metadata fetch fails.

Solutions

  1. Check bucket read permissions for mark files
  2. Inspect wrapped worker errors
  3. Retry the metadata fetch
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at pkg/compact/compact.go:1737 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of thanos-io/thanos@35b8b99117 (2026-09-07). Data as JSON: /api/errors/097a7328dea81783. Report an issue: GitHub.

Appendix: source

Thrown at pkg/compact/compact.go:1737

	// Workers scheduled, distribute blocks.
	eg.Go(func() error {
		defer close(ch)

		for _, id := range blockIDs {
			select {
			case ch <- id:
				// Nothing to do.
			case <-ctx.Done():
				return ctx.Err()
			}
		}

		return nil
	})

	if err := eg.Wait(); err != nil {
		return errors.Wrap(err, "filter blocks marked for no compaction")
	}

	f.mtx.Lock()
	f.noCompactMarkedMap = noCompactMarkedMap
	f.mtx.Unlock()

	return nil
}

View on GitHub (pinned to 35b8b99117)