thanos-io/thanos · error

sync

Error message

sync

What it means

Wraps sy.SyncMetas during the compactor's initial metadata sync: downloading/refreshing block metadata from object storage failed (bucket auth, network, corrupt meta.json). The compaction loop cannot plan without a consistent view of the bucket's blocks.

Solutions

  1. Check object store connectivity and permissions
  2. Inspect wrapped fetcher errors for failing blocks
  3. Retry after transient failures
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at pkg/compact/compact.go:1568 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/6b6532dc5f118cca. Report an issue: GitHub.

Appendix: source

Thrown at pkg/compact/compact.go:1568

							metadata.OutOfOrderChunksNoCompactReason,
							"OutofOrderChunk: marking block with out-of-order series/chunks to as no compact to unblock compaction", g.blocksMarkedForNoCompact); err == nil {
							mtx.Lock()
							finishedAllGroups = false
							mtx.Unlock()
							continue
						}
					}
					errChan <- errors.Wrapf(err, "group %s", g.Key())
					return
				}
			})
		}

		// Blocks that were compacted are garbage collected after each Compaction.
		// However if compactor crashes we need to resolve those on startup.
		level.Info(c.logger).Log("msg", "start initial sync of metas")
		if err := c.sy.SyncMetas(ctx); err != nil {
			return errors.Wrap(err, "sync")
		}

		var ignoreBlocks map[ulid.ULID]struct{}
		if c.blocksCleaner != nil {
			deletedBlocks, err := c.blocksCleaner.DeleteMarkedBlocks(ctx)
			if err != nil {
				return errors.Wrap(err, "cleaning marked blocks")
			}
			ignoreBlocks = deletedBlocks
		}

		level.Info(c.logger).Log("msg", "start of initial garbage collection")
		if err := c.sy.GarbageCollect(ctx, ignoreBlocks); err != nil {
			return errors.Wrap(err, "garbage")
		}

		groups, err := c.grouper.Groups(c.sy.Metas())
		if err != nil {

View on GitHub (pinned to 35b8b99117)