Krasi Georgiev 48efdf8b81
refactor NewSegmentsRangeReader to take multi WAL ranges (#449)
* refactor NewSegmentsRangeReader to take multi WAL ranges

In case of an error when checkpointing the WAL the error doesn't show
the exact WAL index that is corrupter. this is because it uses
MultiReader to read multiply WAL files.
This refactoring allows the NewSegmentsRangeReader to take more than a
single WAL range and it reads all of the ranges by iterating each one.

this changes the logs from
create checkpoint: read segments: corruption after 4841144384 bytes:...
to
create checkpoint: read segments: corruption in segment
data/wal/00017351 at 123142208: ...

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2018-11-30 16:46:16 +02:00
2018-11-22 09:36:39 +00:00
2017-11-09 15:58:36 +00:00
2018-02-09 13:43:42 +01:00
2018-11-28 11:39:56 +01:00
2018-11-14 18:40:01 +02:00
2018-11-28 09:23:50 +00:00
2018-11-28 11:39:56 +01:00
2018-11-28 11:39:56 +01:00
2017-04-10 21:02:42 +02:00
2018-10-15 14:32:00 +03:00
2018-11-28 11:39:56 +01:00
2018-11-14 18:40:01 +02:00
2018-11-14 18:40:01 +02:00
2018-11-16 19:02:24 +01:00
2018-11-14 18:40:01 +02:00
2018-11-14 18:40:01 +02:00
2018-11-14 18:40:01 +02:00

TSDB Build Status

GoDoc Go Report Card

This repository contains the Prometheus storage layer that is used in its 2.x releases.

A writeup of its design can be found here.

Based on the Gorilla TSDB white papers.

Video: Storing 16 Bytes at Scale from PromCon 2017.

See also the format documentation.

Languages
Go 86.3%
TypeScript 12.4%
Yacc 0.5%
Shell 0.2%
SCSS 0.2%
Other 0.2%