thanos-io/thanos · error

error cleaning blocks

Error message

error cleaning blocks

What it means

blocksCleaner.DeleteMarkedBlocks failed while deleting blocks that carry deletion marks during bucket verify/cleanup. Underlying causes are object storage delete/list errors; cleanup aborts so marked blocks remain.

Solutions

  1. Check object storage permissions for delete operations
  2. Inspect the wrapped error for the failing block
  3. Re-run the tool after fixing storage access
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at cmd/thanos/tools_bucket.go:910 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/849a34acc2539acc. Report an issue: GitHub.

Appendix: source

Thrown at cmd/thanos/tools_bucket.go:910

				stubCounter,
				stubCounter,
				0,
			)
			if err != nil {
				return errors.Wrap(err, "create syncer")
			}
		}

		level.Info(logger).Log("msg", "syncing blocks metadata")
		if err := sy.SyncMetas(ctx); err != nil {
			return errors.Wrap(err, "sync blocks")
		}

		level.Info(logger).Log("msg", "synced blocks done")

		compact.BestEffortCleanAbortedPartialUploads(ctx, logger, sy.Partial(), insBkt, stubCounter, stubCounter, stubCounter, ignoreDeletionMarkFilter.DeletionMarkBlocks())
		if _, err := blocksCleaner.DeleteMarkedBlocks(ctx); err != nil {
			return errors.Wrap(err, "error cleaning blocks")
		}

		level.Info(logger).Log("msg", "cleanup done")
		return nil
	})
}

type tablePrinter func(w io.Writer, t Table) error

func printTable(w io.Writer, t Table) error {
	table := tablewriter.NewWriter(w)
	table.SetHeader(t.Header)
	table.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false})
	table.SetCenterSeparator("|")
	table.SetAutoWrapText(false)
	table.SetReflowDuringAutoWrap(false)
	table.SetAlignment(tablewriter.ALIGN_LEFT)
	table.AppendBulk(t.Lines)

View on GitHub (pinned to 35b8b99117)