Skip to content
This repository has been archived by the owner on Aug 13, 2019. It is now read-only.

Latest commit

 

History

History
73 lines (64 loc) · 4.98 KB

CHANGELOG.md

File metadata and controls

73 lines (64 loc) · 4.98 KB

master / unreleased

  • [FEATURE] Provide option to compress WAL records using Snappy. #609

0.8.0

  • [BUGFIX] Calling Close more than once on a querier returns an error instead of a panic.
  • [BUGFIX] Don't panic and recover nicely when running out of disk space.
  • [BUGFIX] Correctly handle empty labels.
  • [BUGFIX] Don't crash on an unknown tombstone ref.
  • [ENHANCEMENT] Re-add FromData function to create a chunk from bytes. It is used by Cortex and Thanos.
  • [ENHANCEMENT] Simplify mergedPostings.Seek.
  • [FEATURE] Added currentSegment metric for the current WAL segment it is being written to.

0.7.1

  • [ENHANCEMENT] Reduce memory usage in mergedPostings.Seek

0.7.0

  • [CHANGE] tsdb now requires golang 1.12 or higher.
  • [REMOVED] chunks.NewReader is removed as it wasn't used anywhere.
  • [REMOVED] FromData is considered unused so was removed.
  • [FEATURE] Added option WALSegmentSize -1 to disable the WAL.
  • [BUGFIX] Bugfix in selectOverlappingDirs. Only return the first overlapping blocks.
  • [BUGFIX] Fsync the meta file to persist it on disk to avoid data loss in case of a host crash.
  • [BUGFIX] Fix fd and vm_area leak on error path in chunks.NewDirReader.
  • [BUGFIX] Fix fd and vm_area leak on error path in index.NewFileReader.
  • [BUGFIX] Force persisting the tombstone file to avoid data loss in case of a host crash.
  • [BUGFIX] Keep series that are still in WAL in checkpoints.
  • [ENHANCEMENT] Fast path for EmptyPostings cases in Merge, Intersect and Without.
  • [ENHANCEMENT] Be smarter in how we look at matchers.
  • [ENHANCEMENT] PostListings and NotMatcher now public.

0.6.1

  • [BUGFIX] Update last after appending a non-overlapping chunk in chunks.MergeOverlappingChunks. #539

0.6.0

  • [CHANGE] AllowOverlappingBlock is now AllowOverlappingBlocks.

0.5.0

  • [FEATURE] Time-ovelapping blocks are now allowed. #370
    • Disabled by default and can be enabled via AllowOverlappingBlock option.
    • Added MergeChunks function in chunkenc/xor.go to merge 2 time-overlapping chunks.
    • Added MergeOverlappingChunks function in chunks/chunks.go to merge multiple time-overlapping Chunk Metas.
    • Added MinTime and MaxTime method for BlockReader.
  • [FEATURE] New dump command to tsdb tool to dump all samples.
  • [FEATURE] New encoding package for common binary encoding/decoding helpers.
    • Added to remove some code duplication.
  • [ENHANCEMENT] When closing the db any running compaction will be cancelled so it doesn't block.
    • NewLeveledCompactor takes a context.
  • [CHANGE] prometheus_tsdb_storage_blocks_bytes_total is now prometheus_tsdb_storage_blocks_bytes.
  • [BUGFIX] Improved Postings Merge performance. Fixes a regression from the the previous release.
  • [BUGFIX] LiveReader can get into an infinite loop on corrupt WALs.

0.4.0

  • [CHANGE] New WALSegmentSize option to override the DefaultOptions.WALSegmentSize. Added to allow using smaller wal files. For example using tmpfs on a RPI to minimise the SD card wear out from the constant WAL writes. As part of this change the DefaultOptions.WALSegmentSize constant was also exposed.
  • [CHANGE] Empty blocks are not written during compaction #374
  • [FEATURE] Size base retention through Options.MaxBytes. As part of this change:
    • Added new metrics - prometheus_tsdb_storage_blocks_bytes_total, prometheus_tsdb_size_retentions_total, prometheus_tsdb_time_retentions_total
    • New public interface SizeReader: Size() int64
    • OpenBlock signature changed to take a logger.
  • [REMOVED] PrefixMatcher is considered unused so was removed.
  • [CLEANUP] Options.WALFlushInterval is removed as it wasn't used anywhere.
  • [FEATURE] Add new LiveReader to WAL pacakge. Added to allow live tailing of a WAL segment, used by Prometheus Remote Write after refactor. The main difference between the new reader and the existing Reader is that for LiveReader a call to Next() that returns false does not mean that there will never be more data to read.

0.3.1

  • [BUGFIX] Fixed most windows test and some actual bugs for unclosed file readers.

0.3.0

  • [CHANGE] LastCheckpoint() used to return just the segment name and now it returns the full relative path.
  • [CHANGE] NewSegmentsRangeReader() can now read over miltiple wal ranges by using the new SegmentRange{} struct.
  • [CHANGE] CorruptionErr{} now also exposes the Segment Dir which is added when displaying any errors.
  • [CHANGE] Head.Init() is changed to Head.Init(minValidTime int64)
  • [CHANGE] SymbolTable() renamed to SymbolTableSize() to make the name consistent with the Block{ symbolTableSize uint64 } field.
  • [CHANGE] wal.Reader{} now exposes Segment() for the current segment being read and Offset() for the current offset.
  • [FEATURE] tsdbutil analyze subcomand to find churn, high cardinality, etc.