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 Merge branch 'main' into sparsehistogram 2022-08-10 17:54:37 +02:00
encoding Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
errors Fix context.Canceled wrapping in compaction 2023-03-23 11:10:00 +01:00
fileutil Update go to 1.19, set min version to 1.18 (#11279) 2022-09-07 11:30:48 +02:00
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 tsdb: Delete blocks atomically; Remove tmp blocks on start; Added test. (#7772) 2020-08-11 06:56:08 +01:00
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 Moving tsdb into its own subdirectory 2019-08-13 13:58:49 +05:30
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 Merge 'main' into sparsehistogram 2022-10-05 22:14:49 +02:00
blockwriter_test.go Name float values as "floats", not as "values" 2023-04-13 19:25:24 +02:00
CHANGELOG.md Rename default branch to main 2021-02-22 20:28:02 +01: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 storage: allow re-use of iterators 2022-12-15 18:32:45 +00:00
exemplar.go scrape: Enable ingestion of multiple exemplars per sample 2023-07-13 14:16:10 +02:00
exemplar_test.go tsdb: in tests use labels.FromStrings 2022-09-09 13:34:49 +02:00
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 Add out-of-order sample support to the TSDB (#11075) 2022-09-20 22:35:50 +05:30
head_read.go TSDB: Remove usused import of sort 2023-07-11 14:29:31 +02:00
head_read_test.go Fix merge conflicts 2022-10-11 22:53:37 +05:30
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 tsdb: turn off transaction isolation for head compaction (#11317) 2022-09-27 19:31:23 +05:30
mocks_test.go Move packages out of deprecated pkg directory 2021-11-09 08:03:10 +01:00
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
README.md Fixed broken link in tsdb README.md 2022-10-07 16:20:20 +00:00
repair.go refactor: move from io/ioutil to io and os packages (#10528) 2022-04-27 11:24:36 +02:00
repair_test.go Simplify IndexReader.Series interface 2022-12-19 15:22:09 +00:00
tsdbblockutil.go Support FloatHistogram in TSDB (#11522) 2022-12-28 14:25:07 +05:30
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

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: