thanos-io/thanos · error
write meta meta
Error message
write meta meta
What it means
errors.Wrap around writeMetaFile failure in streamedBlockWriter.Close: persisting the final meta.json for the downsampled block failed (I/O error, missing dir, permissions), so the block is not usable.
Solutions
- Inspect the wrapped writeMetaFile error for the underlying cause (disk full, permissions).
- Ensure the block directory exists and is writable before Close.
- Retry the downsampling run; delete the failed block.
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at pkg/compact/downsample/streamed_block_writer.go:165 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/b78f67881ec3c787.
Report an issue: GitHub.
Appendix: source
Thrown at pkg/compact/downsample/streamed_block_writer.go:165
merr := errutil.MultiError{}
if w.ignoreFinalize {
// Close open file descriptors anyway.
for _, cl := range w.closers {
merr.Add(cl.Close())
}
return merr.Err()
}
// Finalize saves prepared index and metadata to corresponding files.
for _, cl := range w.closers {
merr.Add(cl.Close())
}
if err := w.writeMetaFile(); err != nil {
return errors.Wrap(err, "write meta meta")
}
if err := w.syncDir(); err != nil {
return errors.Wrap(err, "sync blockDir")
}
if err := merr.Err(); err != nil {
return errors.Wrap(err, "finalize")
}
// No error, claim success.
level.Info(w.logger).Log(
"msg", "finalized downsampled block",
"mint", w.meta.MinTime,
"maxt", w.meta.MaxTime,
"ulid", w.meta.ULID,
"resolution", w.meta.Thanos.Downsample.Resolution,View on GitHub (pinned to 35b8b99117)