prometheus/tsdb
Robert Fratto 886945cda7
tsdb/agent: ensure that new series get written to WAL on rollback (#12592)
If a new series is introduced in a storage.Appender instance, that
series should be written to the WAL once the storage.Appender is closed,
even on Rollback.

Previously, new series would only be written to the WAL when calling
Commit. However, because the series is stored in memory regardless,
subsequent calls to Commit may write samples to the WAL which reference
a series ID which that was never written.

Related to #11589. It's likely that this fix also resolves this issue,
but we need more testing from users to see if the problem persists after
this fix; there may be more cases where samples get written to the WAL
in Prometheus Agent mode without the corresponding series record.

Signed-off-by: Robert Fratto <robertfratto@gmail.com>
2023-07-27 09:28:26 -04:00
..
agent tsdb/agent: ensure that new series get written to WAL on rollback (#12592) 2023-07-27 09:28:26 -04:00
chunkenc Hide histogram chunk append and reset header internals (#12352) 2023-07-26 15:08:16 +02:00
chunks Fix race condition in ChunkDiskMapper.Truncate() (#12500) 2023-06-30 18:29:59 +05:30
docs
encoding
errors Fix context.Canceled wrapping in compaction 2023-03-23 11:10:00 +01:00
fileutil
goversion lint: Adjust to the lint warnings raised by current versions of golint-ci 2023-04-19 17:10:10 +02:00
index Merge pull request #10623 from songjiayang/update-index 2023-07-18 13:47:27 +02:00
record tsdb: Support native histograms in snapshot on shutdown (#12258) 2023-07-05 11:44:13 +02:00
testdata
tombstones Copy tombstone intervals to avoid race (#12245) 2023-05-17 15:15:12 +02:00
tsdbutil Hide histogram chunk append and reset header internals (#12352) 2023-07-26 15:08:16 +02:00
wlog Add Zstandard compression option for wlog (#11666) 2023-07-11 14:57:57 +02:00
.gitignore
CHANGELOG.md
README.md
block.go tsdb: sort values for Postings only when required 2023-01-05 14:05:54 +00:00
block_test.go enable gocritic, unconvert and unused linters 2023-04-13 19:20:22 +00:00
blockwriter.go
blockwriter_test.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
compact.go Replace sort.Slice with faster slices.SortFunc 2023-07-02 22:17:08 +00:00
compact_test.go Add Zstandard compression option for wlog (#11666) 2023-07-11 14:57:57 +02:00
db.go Add Zstandard compression option for wlog (#11666) 2023-07-11 14:57:57 +02:00
db_test.go tsdbutil/ChunkFromSamplesGeneric should not panic 2023-07-20 17:01:34 +02:00
example_test.go
exemplar.go scrape: Enable ingestion of multiple exemplars per sample 2023-07-13 14:16:10 +02:00
exemplar_test.go
head.go improve incorrect doc comment 2023-07-10 16:52:00 -06:00
head_append.go Hide histogram chunk append and reset header internals (#12352) 2023-07-26 15:08:16 +02:00
head_bench_test.go
head_read.go TSDB: Remove usused import of sort 2023-07-11 14:29:31 +02:00
head_read_test.go
head_test.go Hide histogram chunk append and reset header internals (#12352) 2023-07-26 15:08:16 +02:00
head_wal.go Add Zstandard compression option for wlog (#11666) 2023-07-11 14:57:57 +02:00
isolation.go ci(lint): enable predeclared linter 2023-05-21 07:33:54 +00:00
isolation_test.go
mocks_test.go
ooo_head.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
ooo_head_read.go remove repetitive words (#12556) 2023-07-13 15:53:40 +02:00
ooo_head_read_test.go Add Zstandard compression option for wlog (#11666) 2023-07-11 14:57:57 +02:00
ooo_head_test.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
querier.go Hide histogram chunk append and reset header internals (#12352) 2023-07-26 15:08:16 +02:00
querier_bench_test.go Apply relevant label matchers in LabelValues before fetching extra postings (#12274) 2023-07-04 10:37:58 +01:00
querier_test.go tsdbutil/ChunkFromSamplesGeneric should not panic 2023-07-20 17:01:34 +02:00
repair.go
repair_test.go
tsdbblockutil.go
wal.go Add Zstandard compression option for wlog (#11666) 2023-07-11 14:57:57 +02:00
wal_test.go Add Zstandard compression option for wlog (#11666) 2023-07-11 14:57:57 +02:00

README.md

TSDB

GoPkg

This directory contains the Prometheus TSDB (Time Series DataBase) library, which handles storage and querying of all Prometheus v2 data.

Documentation

External resources

A series of blog posts explaining different components of TSDB: