Commit Graph

38 Commits

Author SHA1 Message Date
Alec
e7436e13f0 Merge encoding_helpers.go to tsdbutil (#526)
remove duplicate encoding helper funcs and move to own package so they can be reused.

Signed-off-by: naivewong <867245430@qq.com>
2019-02-22 19:11:11 +02:00
Krasi Georgiev
e138c7ed7e Merge remote-tracking branch 'upstream/master' into delete-compact-block-on-reload-error
Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2019-02-08 13:26:28 +02:00
Krasi Georgiev
53c18e7a41 use a global indexFilename constant
Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>
2019-01-29 10:32:32 +02:00
Simon Pasquier
2e69508536 Merge branch 'master' into update-makefile-common
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-01-22 10:47:31 +01:00
mknapphrt
ebf5d74325 Added storage size based retention method and new metrics (#343)
Added methods needed to retain data based on a byte limitation rather than time. Limitation is only applied if the flag is set (defaults to 0). Both blocks that are older than the retention period and the blocks that make the size of the storage too large are removed.

2 new metrics for keeping track of the size of the local storage folder and the amount of times data has been deleted because the size restriction was exceeded.
Signed-off-by: Mark Knapp <mknapp@hudson-trading.com>
2019-01-16 13:03:52 +03:00
Bartek Płotka
c065fa6957 Exposed helper methods for reading index bytes. (#492)
Changes:
* Make `NewReader` method useful. It was impossible to use it, because closer was always nil.
* ReadSymbols, TOC and ReadOffsetTable are not public functions (used by Thanos).
* decbufXXX are now functions.
* More verbose errors.
* Removed unused crc32 field.
* Some var name changes to make it more verbose:
  * symbols -> allocatedSymbols
  * symbolsSlice -> symbolsV1
  * symbols -> symbolsV2
  *
* Pre-calculate symbolsTableSize.
* Initialized symbols for Symbols() method with valid length.
* Added test for Symbol method.
* Made Decoder LookupSymbol method public. Kept Decode public as it is useful as helper from index package.

Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
2019-01-11 17:31:26 +00:00
Simon Pasquier
62fca18f0a Add back indexFormatV1
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-01-07 17:37:12 +01:00
Simon Pasquier
d5d7a097e1 Update Makefile.common
This change also uses the latest staticcheck version which comes with
new verifications, hence some clean up in the code.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-01-04 16:08:43 +01:00
Krasi Georgiev
b4a2103a12
Release v0.3.0 (#464) 2018-12-04 16:50:11 +03:00
Brian Brazil
fc99b8bb3a Make index reader postings nested.
This reduces memory by only having to store the string's 16
bytes+map overheard once per label name, rather than duplicating it in every
entry for the label value.

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
2018-11-22 09:36:39 +00:00
Brian Brazil
c93e261466 Reduce memory taken up by posting/symbol tables.
Reuse the string already allocated for symbols
in the posting tables.

Use a slice for symbols in v2 format.

Move symbol size logic into the index code.
Avoid duplication of lookupSymbol logic.

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
2018-11-22 09:36:39 +00:00
Ganesh Vernekar
3a08a71d86 LabelNames() method to get all unique label names (#369)
* LabelNames() method to get all unique label names

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2018-11-07 17:52:41 +02:00
Kautilya Tripathi
3fd6d2f920 more meaningful names for serializedStringTuples and stringTuples (#377)
more meaningful names for serializedStringTuples and stringTuples structs

Signed-off-by: knrt10 <tripathi.kautilya@gmail.com>
Co-authored-by: Krasi Georgiev <kgeorgie@redhat.com>
2018-10-02 21:03:12 +03:00
Julius Volz
5ae6c60d39 Handle a bunch of unchecked errors (#365)
As discovered by "gosec".

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2018-09-20 11:33:52 +03:00
Simon Pasquier
e8fc6c8774 index: fix another Uvarint() return check
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-06-08 14:42:24 +02:00
Mario Trangoni
09142e4dd1 fix unconvert issues: unnecessary conversion 2018-03-21 22:39:14 +01:00
Fabian Reinartz
3f06121dd0 Add Version getter for index reader 2018-02-21 21:06:19 +01:00
Fabian Reinartz
494acd3070
Merge pull request #273 from Gouthamve/large-idx-reader
Fix reader for large index files.
2018-02-15 12:29:47 +01:00
Fabian Reinartz
a345231a0e Add test for block meta version and comments 2018-02-12 11:46:22 +01:00
Fabian Reinartz
d09283f60a Add repair of bad index version 2018-02-09 13:11:03 +01:00
Goutham Veeramachaneni
bb0e74b343
Fix reader for large index files.
Currently the offsets are cast into uint32 even though the index can
grow larger than 4GiB.

Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2018-02-05 13:51:22 +05:30
Goutham Veeramachaneni
467948f3c3
Merge pull request #262 from cstyan/callum-249
Reduce index file size caused by symbol references by using indicies rather than offsets
2018-01-18 14:02:54 +05:30
Callum Styan
cd67584817 we don't want to write to index file in older version formats 2018-01-17 22:46:22 -08:00
Callum Styan
4792d2bbd1 handle v1 vs v2 for symbol offset vs index changes 2018-01-16 20:37:57 -08:00
Callum Styan
a515b16299 use an incrementing index rather than an offset for symbols table 2018-01-16 20:07:59 -08:00
Goutham Veeramachaneni
2c3400ab4e Add block ULID to index reader errors
Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2018-01-16 23:48:58 +05:30
Shubheksha Jalan
618bceadb4 move version check into newReader() 2018-01-13 00:36:20 +05:30
Shubheksha Jalan
faecfac2fa update docs, rename docs folder, add error condition 2018-01-11 14:06:49 +05:30
Shubheksha Jalan
7b27dc2109 address review comments, fix index tests 2018-01-11 13:20:42 +05:30
Shubheksha Jalan
510dc17066 fix tests, set version when initializing the index writer 2018-01-11 01:03:20 +05:30
Shubheksha Jalan
44052bc937 Make version for index format configurable 2018-01-11 00:49:16 +05:30
Shubheksha Jalan
129773b41a merge BlockMeta and blockMeta struct, implement v1 and v2 index readers 2018-01-08 23:03:35 +05:30
Shubheksha Jalan
77eb9fb56e add padding for series offsets 2018-01-05 18:28:09 +05:30
Fabian Reinartz
b945098e3a index: extract decoder type 2017-12-21 12:02:05 +01:00
Fabian Reinartz
6dd2b83a7a index: don't use concatenated string for posting table 2017-12-21 12:02:05 +01:00
Fabian Reinartz
67f0ca8f0e Move index and chunk encoders to own packages 2017-12-21 11:27:54 +01:00
Fabian Reinartz
6f93a699e6 wipe 2016-12-02 17:49:05 +01:00
Fabian Reinartz
342aa82505 Fix pages and index package 2016-11-15 15:53:48 +01:00