Commit Graph

258 Commits (a9470dd8d54f7df3e6212ddee72d014bd63e9b3d)

Author SHA1 Message Date
Goutham Veeramachaneni a1c8425357
Initial implementation of HeadBlock Snapshots
8 years ago
Goutham Veeramachaneni 3a5ae6b1a4 Merge pull request #82 from Gouthamve/deletes-1
8 years ago
Fabian Reinartz b3b9245ad6 Add and fix metrics
8 years ago
Goutham Veeramachaneni 6febabeb28
Final delete fixes.
8 years ago
Goutham Veeramachaneni 9bf7aa9af1
Misc. fixes incorporating feedback.
8 years ago
Goutham Veeramachaneni 8434019ad9
Merge branch 'master' into deletes-1
8 years ago
Goutham Veeramachaneni 0b70333ef6
Add tests for tombstones.
8 years ago
Goutham Veeramachaneni d32eb25662
Synchronise deletes and compactions.
8 years ago
Goutham Veeramachaneni 3dbb400bef
Initial implementation of Delete on DB.
8 years ago
Fabian Reinartz debfe9b1e5 Simplify AddFast and avoid errgroup Commits in general
8 years ago
Fabian Reinartz fb5c5535fc Misc cleanup
8 years ago
Fabian Reinartz 39df7e2bba Switch blocks to ULID directories, drop sequenc numbers
8 years ago
Fabian Reinartz 285bc07030 Switch append refs to string
8 years ago
Fabian Reinartz 8b51b7e2be Make WAL for HeadBlock composeable.
8 years ago
Fabian Reinartz 5534e6c53c Make HeadBlock impl public, make interface private
8 years ago
Fabian Reinartz 44769c1654 Allow disabling lock file
8 years ago
Fabian Reinartz 35b62f001e Change offset table layout, add TOC, ...
8 years ago
Fabian Reinartz 54a7b98cff Fix and test ref handling in DB appender
8 years ago
Brian Brazil d04bd947ea Merge pull request #51 from prometheus/rollback
8 years ago
Brian Brazil dba222b53c Make rollback actually rollback.
8 years ago
Fabian Reinartz 46c947d94f Merge pull request #45 from mattbostock/document_appender_not_goroutine_safe
8 years ago
Matt Bostock 4d5ca4b9c1 db: Fix typo: reference
8 years ago
Matt Bostock 3dd5a4ee09 db: Add comment: Appender not goroutine safe
8 years ago
Fabian Reinartz 778103b450 Add liecence file and headers
8 years ago
Fabian Reinartz 10c7c9acbe Adjust import names to new repository organisation
8 years ago
Fabian Reinartz 767b88a3a5 Parallelize commits to prevent deadlocks
8 years ago
Fabian Reinartz a52980e0a8 Add workaround for deadlocks
8 years ago
Fabian Reinartz e478d0e3bc Actually close olds blocks in reloadBlocks
8 years ago
Fabian Reinartz 70909ca8ad Ensure GC runs after each compactor call
8 years ago
Fabian Reinartz 55ee4b5b3b Merge branch 'master' of github.com:fabxc/tsdb
8 years ago
Fabian Reinartz c18e055d7c Fix races and add comments on remaining ones
8 years ago
Fabian Reinartz e837034360 Merge pull request #14 from Gouthamve/log-update
8 years ago
Fabian Reinartz 9c93f8f2aa Fix various races
8 years ago
Fabian Reinartz 3635569257 Trigger reload correctly on interrupted compaction
8 years ago
Fabian Reinartz 2c999836fb Add Queryable interface to Block
8 years ago
Fabian Reinartz 11be2cc585 Add composed Block interfaces, remove head generation
8 years ago
Goutham Veeramachaneni df7db4ac07
Update kit/log To New API
8 years ago
Fabian Reinartz 303a4ec3bc Sync directory on retention delation
8 years ago
Fabian Reinartz 863d38dfee Fix unreturned lock
8 years ago
Fabian Reinartz d0770302ed Add retention deletion
8 years ago
Fabian Reinartz 4962175218 Fix deadlock between heads and headmtx
8 years ago
Fabian Reinartz 65b846ae5b Remove unreturned locks, detect writes on closed heads
8 years ago
Fabian Reinartz 32c32013a6 Fix loading of persisted blocks
8 years ago
Fabian Reinartz cb4dde7659 Fix WAL log recovery bug
8 years ago
Fabian Reinartz 3910b913bd Revert interval overlap comparison changes
8 years ago
Fabian Reinartz 87805fb83f Remove Partitioned* code
8 years ago
Fabian Reinartz eedbebe1d7 Misc cleanups
8 years ago
Fabian Reinartz 50791a412e Remove leaky Appender abstraction for hashedAppend
8 years ago
Fabian Reinartz 87d270fe11 Fix interval check, make DB shutdown concurrent
8 years ago
Fabian Reinartz 04783831e2 Correctly close compacted blocks.
8 years ago
Fabian Reinartz 55a9b5428a Add separate head mutex
8 years ago
Fabian Reinartz 3e569bc964 Optimize memory allocations in writer
8 years ago
Fabian Reinartz ffb24a98f4 Add missing unlock, run debug endpoint in benchmark
8 years ago
Fabian Reinartz 92120448c2 Properly cleanup compacted dirs, fixes, docs
8 years ago
Fabian Reinartz 2c3e778d90 Compactor interface
8 years ago
Fabian Reinartz 2c3b56350a Write meta.json file atomically
8 years ago
Fabian Reinartz 6c4217276f Periodically trigger compaction
8 years ago
Fabian Reinartz db5c88ea9a Misc compaction fixes
8 years ago
Fabian Reinartz b281e4e39b Accept prometheus.Registerer in constructor
8 years ago
Fabian Reinartz 306831f151 Add per-block state ULID
8 years ago
Fabian Reinartz 78780cd2ba Segment chunk file
8 years ago
Fabian Reinartz a3b47c4929 Create default logger for DB
8 years ago
Fabian Reinartz f734773214 Replace per-file locking with single PID lock file
8 years ago
Fabian Reinartz 79944a5912 Break out WAL into segment files
8 years ago
Fabian Reinartz 987a90d149 Don't delete files if retention duration is 0
8 years ago
Fabian Reinartz 9c76624df2 Add initial retention cutoff
8 years ago
Fabian Reinartz f1435f2e2c Track appended samples properly in metric
8 years ago
Fabian Reinartz 012cf4ef25 Count writer references on head blocks
8 years ago
Fabian Reinartz 5a1c8eaa0e Fix missing appends after reference lookups
8 years ago
Fabian Reinartz f556036037 Close blocks before overwriting with compacted one
8 years ago
Fabian Reinartz ac5229e1b4 Correctly write empty blocks and extend appenders by new blocks
8 years ago
Fabian Reinartz 42fa342229 Improve multi-head handling
8 years ago
Fabian Reinartz 30efe4a58c Support writing to multiple head blocks
8 years ago
Fabian Reinartz a61a31a5d7 compaction: add fast-path for compacting mem blocks
8 years ago
Fabian Reinartz c20cc44b06 Add docs, write sequence number to meta.json
8 years ago
Fabian Reinartz 30d8866c13 Limit compaction range, make cut and compact concurrent
8 years ago
Fabian Reinartz 67d185ceb9 Compact based on compaction generation
8 years ago
Fabian Reinartz d4779b374c Properly track and write meta file
8 years ago
Fabian Reinartz 9ddbd64d00 Move stats into meta.json file, cleanup, docs
8 years ago
Fabian Reinartz e006bc6dc6 Improve error messages, create regular dir for block
8 years ago
Fabian Reinartz d2322f6095 Improve compaction processing
8 years ago
Fabian Reinartz 343dd9d94c Fix wrong byte size in WAL base ref
8 years ago
Fabian Reinartz dd0b69fe1b Export ErrNotFound
8 years ago
Fabian Reinartz 1c80c33e72 Fix bug of unsorted postings lists being created
8 years ago
Fabian Reinartz c7f5590a71 Ensure order of postings when adding new series
8 years ago
Fabian Reinartz d970f0256a Add Rollback() and docs to Appender interface
8 years ago
Fabian Reinartz 22db9c3413 Remove old appendBatch methods
8 years ago
Fabian Reinartz a317f252b9 Expose series references to clients
8 years ago
Fabian Reinartz c32a94d409 Unexport HeadBlock, export Block interface
8 years ago
Fabian Reinartz 29883a18fc Add own Appender() method for DB
8 years ago
Fabian Reinartz 142c89b8b0 Fix/update metrics
8 years ago
Fabian Reinartz 8c31c6e934 Make concurrent head chunk reads safe, fix misc races
8 years ago
Fabian Reinartz 1943f8d1bb Fix head block stats races
8 years ago
Fabian Reinartz 300f4e2abf Use separate lock for series creation
8 years ago
Fabian Reinartz 63e12807da Don't update head postings mapper on every append
8 years ago
Fabian Reinartz 71efd2e08d Periodically fsync WAL, make head cut async
8 years ago
Fabian Reinartz 2eb544c98e Change file names and maker parsing safer
8 years ago
Fabian Reinartz 96c2bd249f Handle compaction trigger and reinitializing in DB
8 years ago
Fabian Reinartz 3ed2c2a14b Rename Partition to regular DB, DB to PartitionedDB
8 years ago
Fabian Reinartz 937cdb579c Switch to sequential block names
8 years ago
Fabian Reinartz 4590b61343 Rename shard to partition
8 years ago
Fabian Reinartz 5aa7f7cce8 Compact head block into persisted block
8 years ago
Fabian Reinartz 3f72d5d027 Fix last timestamp initialization
8 years ago
Fabian Reinartz ec99f99d3d Fix and test bug in shardSeriesSet
8 years ago
Fabian Reinartz ac49f8c15e Consolidate persistence and compaction
8 years ago
Fabian Reinartz 91b65b55e7 Run persistence in separate goroutine
8 years ago
Fabian Reinartz a648ef5252 Convert persister into function
8 years ago
Fabian Reinartz dbd2b21d2e Make persistence atomic
8 years ago
Fabian Reinartz 62b8ded0a5 Rename iterator value getters to At()
8 years ago
Fabian Reinartz 5d75a3dc7b Add basic compaction
8 years ago
Fabian Reinartz c00d17e691 Modify IndexReader API to accomodate compaction
8 years ago
Fabian Reinartz 1e1a37b15b Remove double-reference in chunk hashmap
8 years ago
Fabian Reinartz 675f0886f0 Append to chunks cannot error
8 years ago
Fabian Reinartz 7280533c42 Add basic shard metrics
8 years ago
Fabian Reinartz a009247ab7 Add matching of empty label
8 years ago
Fabian Reinartz eb4f366988 Add return error to Appender.Add
8 years ago
Fabian Reinartz 3a5468f251 Lock shards during querying and shutdown
8 years ago
Fabian Reinartz ab7fbc05ad Zero timestamp as base, use binary search list postings
8 years ago
Fabian Reinartz f8111cef0e Fix chunk series iterator seeking
8 years ago
Fabian Reinartz 787199a88e Fix erroneous value assignments
8 years ago
Fabian Reinartz 8aba95048a Rename to OpenHeadBlock
8 years ago
Fabian Reinartz 9c6a72aadd Load head with WALs correctly
8 years ago
Fabian Reinartz 1dde3b6d31 Add WAL decoder+loading and benchmarks
8 years ago
Fabian Reinartz 0b8c77361e Add initial WAL writing
8 years ago
Fabian Reinartz 2a825f6c28 Consolidate mem index into HeadBlock
8 years ago
Fabian Reinartz da2beb3e6d Fix zero division, add buffer series iterator
8 years ago
Fabian Reinartz ede733ab6c Extract labels package
8 years ago
Fabian Reinartz ee217adc7e Redfine append interface, remove old Prometheus storage from bench
8 years ago
Fabian Reinartz d9ca4b47f5 Fix offset errors, fix persisted postings order
8 years ago
Fabian Reinartz 1b23d62e3f Properly close files before reopening
8 years ago
Fabian Reinartz 00a503129b Use contextualized and traced errors in reader
8 years ago
Fabian Reinartz bad93d8d57 Extract head serialization into Head method
8 years ago
Fabian Reinartz b08f82fa4e Pre-select relevant chunks on series access.
8 years ago
Fabian Reinartz bd77103a49 Add stats serialization, load querier of all blocks
8 years ago
Fabian Reinartz b2f1db5666 Add unsafe string and slice conversions
8 years ago
Fabian Reinartz 5424a0cf75 Rename SeriesShard to Shard
8 years ago
Fabian Reinartz 9873e18b75 Add loading of persisted blocks
8 years ago
Fabian Reinartz ca89080128 Misc fixes for initial Prometheus integration
8 years ago
Fabian Reinartz fc992fafc2 Change querier interface, initial implementations
8 years ago
Fabian Reinartz 6eeb0ef01c Add queriers and partial mocks
8 years ago
Fabian Reinartz 5e02e28f9c Add proper mmap calls
8 years ago
Fabian Reinartz 14dbc59f2b cleanup and switching removal of unsafe calls.
8 years ago
Fabian Reinartz 3a528c3078 Write plain postings list index
8 years ago
Fabian Reinartz 8cbc95c316 Write label value indices
8 years ago
Fabian Reinartz 1e0edf367b Write index with symbol table
8 years ago
Fabian Reinartz 40a451694f Refactor persistence into interfaces
8 years ago
Fabian Reinartz 62f9dc311c misc
8 years ago
Fabian Reinartz 74f8dfd95d Persist blocks periodically
8 years ago
Fabian Reinartz 0cf8bb9e53 Move sub-indexes into single index structure
8 years ago
Fabian Reinartz 8aa99a3ebd misc
8 years ago