Callum Styan
ca4e817372
move test utils to it's own package so we can use it in tests for other packages in tsdb repo
2017-12-06 17:06:14 -08:00
Callum Styan
670c2917e2
use test utils in db_test
2017-12-06 15:18:42 -08:00
Goutham Veeramachaneni
30bbbe34f8
Merge pull request #210 from Gouthamve/tomb-clean
...
Add a function to cleanup tombstones.
2017-11-30 15:28:01 +05:30
Goutham Veeramachaneni
f35e9c7fec
Merge branch 'master' into fix-dels
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-11-30 13:30:13 +05:30
Goutham Veeramachaneni
8a5ea9db74
Merge branch 'master' into tomb-clean
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-11-30 13:15:23 +05:30
Goutham Veeramachaneni
24ff293dc9
Merge pull request #207 from Gouthamve/compact-fail
...
Don't retry failed compactions.
2017-11-30 12:58:19 +05:30
Goutham Veeramachaneni
e7445d00b0
Add a function to cleanup tombstones.
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-11-27 20:03:37 +05:30
Goutham Veeramachaneni
17dd4f8f6c
Merge pull request #213 from Gouthamve/close-retention-blocks
...
Close the retention blocks before deleting them.
2017-11-23 19:30:51 +05:30
Goutham Veeramachaneni
41fd9c66ef
Close the retention blocks before deleting them.
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-11-23 18:57:10 +05:30
Goutham Veeramachaneni
1fc94a02d1
Don't retry failed compactions.
...
Fixes prometheus/prometheus#3487
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-11-23 15:16:20 +05:30
Goutham Veeramachaneni
1627a47640
A copy is being assigned newChunk not the original
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-11-22 17:58:06 +05:30
Fabian Reinartz
e5ce2bef43
Add explicit error to Querier.Select
...
This has been a frequent source of debugging pain since errors are
potentially delayed to a much later point. They bubble up in an
unrelated execution path.
2017-11-13 12:16:58 +01:00
Julius Volz
1dad3370fd
Close WAL when closing the DB
...
Also, the `wal` field of the `DB` was not used anywhere, so this removes
it.
2017-11-11 14:56:23 +01:00
Fabian Reinartz
fb9da52b11
Add more verbose error handling for closing, reduce locking
...
This commit introduces error returns in various places and is explicit
about closing persisted blocks.
{Index,Chunk,Tombstone}Readers are more consistent about their Close()
method. Whenever a reader is retrieved, the corresponding close method
must eventually be called. We use this to track pending readers against
persisted blocks.
Querier's against the DB no longer hold a read lock for their entire
lifecycle. This avoids long running queriers to starve new ones when we
have to acquire a write lock when reloading blocks.
2017-10-10 12:13:37 +02:00
Dimitrij Denissenko
c9fc2af6c0
Add test for snapshot
2017-10-03 13:06:26 +01:00
Goutham Veeramachaneni
afaf12fe45
Compress the series chunk details in index.
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-09-08 20:25:19 +05:30
Fabian Reinartz
c36d574290
Replace single head lock with granular locks
...
This adds various new locks to replace the single big lock on
the head. All parts now must be COW as they may be held by clients
after initial retrieval.
Series by ID and hashes are now held in a stripe lock to reduce
contention and total holding time during GC. This should reduce
starvation of readers.
2017-09-05 14:41:39 +02:00
Fabian Reinartz
5cf2662074
Refactor WAL into Head and misc improvements
2017-09-01 11:50:58 +02:00
Fabian Reinartz
3901b6e70b
Remove multiple heads
...
This changes the structure to a single WAL backed by a single head
block.
Parts of the head block can be compacted. This relieves us from any head
amangement and greatly simplifies any consistency and isolation concerns
by just having a single head.
2017-09-01 11:50:58 +02:00
Goutham Veeramachaneni
7438ed7035
Expose Intervals type for use by TombstoneReader.
...
TombstoneReader is exposed but Intervals is not.
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-08-25 16:06:36 +05:30
Fabian Reinartz
3065be97d8
Fix and document locking order for DB
2017-07-14 09:00:22 +02:00
Goutham Veeramachaneni
9bf7aa9af1
Misc. fixes incorporating feedback.
...
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-05-23 18:13:30 +05:30
Fabian Reinartz
39df7e2bba
Switch blocks to ULID directories, drop sequenc numbers
2017-05-18 16:09:30 +02:00
Fabian Reinartz
285bc07030
Switch append refs to string
2017-05-18 10:56:57 +02:00
Fabian Reinartz
54a7b98cff
Fix and test ref handling in DB appender
2017-04-28 15:24:28 +02:00
Brian Brazil
2742fc380b
Test we get back out the data we put in.
...
This also adds a utility that'll aid future tests.
2017-04-21 14:10:14 +01:00
Brian Brazil
dba222b53c
Make rollback actually rollback.
...
Also add tests for basic commit/rollback
functionality.
Fixes #39
2017-04-19 11:28:36 +01:00
Fabian Reinartz
778103b450
Add liecence file and headers
2017-04-10 20:59:45 +02:00
Fabian Reinartz
eedbebe1d7
Misc cleanups
2017-03-06 14:34:49 +01:00
Fabian Reinartz
0a94f58f1a
Fix test import of labels, simplify constructor names
2016-12-21 15:12:26 +01:00
Fabian Reinartz
83574b1565
Add new interfaces and skeleton
2016-12-04 13:16:11 +01:00
Fabian Reinartz
6f93a699e6
wipe
2016-12-02 17:49:05 +01:00
Fabian Reinartz
f9f11c4a08
Add main db implementation
2016-11-15 10:34:25 +01:00