Segmented write-ahead log
Append-only WAL with CRC32-validated records, automatic segment rotation at 128 MiB, background periodic fsync, and crash recovery by truncation at the first corrupt or incomplete record. Record format: type(1) | len(4) | payload | crc32c(4). Two payload types: series (ref + labels) and samples (batch of ref/t/v). Fixed-width encoding througout. Torn-write harness truncates at every byte offset and asserts recovery produces a valid prefix of the original sequnce, both single-segment and multi-segment. DESIGN.md, NOTICE.md, and README.md.
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
NOTICE:
|
||||
This project was developed with reference to the Prometheus TSDB
|
||||
(github.com/prometheus/prometheus), licensed under Apache License 2.0,
|
||||
Copyright The Prometheus Authors.
|
||||
|
||||
- internal/chunkenc: Gorilla XOR chunk encoding follows the Prometheus
|
||||
tsdb/chunkenc implementation.
|
||||
- internal/wal: Write-ahead log design is informed by the Prometheus
|
||||
tsdb/wal package. Uses a simpler record format without page-level
|
||||
framing; shares the same well-established WAL patterns (segmented
|
||||
append-only files, CRC32C validation, recovery by truncation).
|
||||
Reference in New Issue
Block a user