Skip to content

Releases: m3db/m3

v0.9.2

18 May 23:41
1df1c8f

Choose a tag to compare

Changelog

Performance

  • M3Query: Add default and config to limit the number of unique time series fetch from a single DB node to fulfill a query (default 10,000) (#1644)
  • M3Query: Fix and throttle file descriptor stat emission excessive allocation, also disable Prometheus process collector which had the same issue (#1633)

Bug Fixes

  • M3DB: Fix ReturnUnfulfilledForCorruptCommitLogFiles not propagating to bootstrapper options, causing peer bootstrapper to begin when it should not (#1639)
  • M3Query: Fix PromReadInstantHandler not correctly responding with error message when query encounters error (#1611)

v0.9.1

13 May 16:13
1705da4

Choose a tag to compare

Changelog

Performance

Bug Fixes

  • M3Query: Fixed an issue causing untyped step sizes to fail parsing, now defaults to using seconds as the time unit (#1617)
  • M3Query: Accept both GET and POST for series match endpoint (#1606)

v0.9.0

06 May 18:42
43bc39d

Choose a tag to compare

Changelog

Features

  • M3Coordinator: Emit caller I.P address in error logs (#1583)
  • M3Query: Add a list tags endpoint that displays every unique tag name stored in M3DB to match the Prometheus /labels endpoint (#1565)
  • M3DB: Add native support for running M3DB in "index-only" mode (#1596)
  • M3DB: Reduce M3DB log spam for normal operations like cleanup (#1592)

Bug Fixes

  • M3DB: Filter out commit log files that were not present on disk before the process started when determining if files are corrupt in the commitlog bootstrapper. This will prevent a race in which the commitlog bootstrapper would interpret the current commitlog file as corrupt (#1581)
  • M3Query: Fixed binary arithmetic to properly ignore names when checking for matching series (#1604)
  • M3Query: Add start and end time to tag values endpoint to fix an issue preventing Grafana tag completion (#1601)

Performance

  • M3DB: Optimize some types aggregation queries in M3DB to not require materializing intermediary documents. This should substantially improve query performance for certain types of aggregation queries such as those used to perform auto-complete in Prometheus and Grafana (#1545)
  • M3DB: Open new commitlog files asynchronously. This should prevent large spikes in the commitlog queue during snapshotting / commitlog rotation for write-heavy workloads (#1576)

v0.8.4

20 Apr 15:44

Choose a tag to compare

Changelog

Performance

  • M3DB: Fix index query and aggregate query pooling using finalizers (#1567)

Bug Fixes

  • M3Query: Fix PromQL offset modifier implementation (#1561)
  • M3DB: Fix index flush recovery when previous index flush attempts have failed (#1574)

v0.8.3

13 Apr 01:25
5114459

Choose a tag to compare

Changelog

New Features

  • M3DB: Bump TagLiteralLength limit to 64K (#1552)

v0.8.2

11 Apr 20:30

Choose a tag to compare

Changelog

New Features

  • M3DB: Add Jaeger tracing to M3DB QueryIDs path (#1506)

Performance

  • M3DB: Add postingsList caching for FieldQuery (#1530)
  • M3DB: Add write & read latency histogram metrics to M3DB client and emit from M3Coordinator (#1533)
  • M3DB: Persist block at retention edge when building index after peer streaming (#1531)

Bug Fixes

  • M3Query: Fixed a bug that could cause a panic when converting queries (#1546)

v0.8.1

02 Apr 01:27
c71b26b

Choose a tag to compare

Changelog

Bug Fixes

  • M3DB: Fixed a bug that would sometimes prevent successfully retrieved time series data from being loaded into the cache.
  • M3DB: Fixed a bug where an error was not being properly logged.

v0.8.0

29 Mar 21:24
94437f2

Choose a tag to compare

Changelog

Migration Disclaimer

Version 0.8.0 of M3 switches M3DB to use file descriptors and the Read() system call for reading time series data files instead of mmaps.
This should improve read latency and memory utilization for some workloads, particularly those in which the amount of data on disk vastly exceeds the amount of memory on the system.
This changes also enables the ability to increase the fetch concurrency past the default value.

As a result of this change, M3DB will allocate significantly less mmaps, but will create a corresponding amount of file descriptors.

Operators may need to tune their kernel configuration to allow a higher number of open file descriptors. Please follow our Kernel Configuration Guide for more details.

New Features

Performance

  • M3DB: Use Seek() and Read() APIs for index/data files instead of mmap + share expensive seeker resources among seekers (#1421)
  • M3Query: Tag completion endpoints (Prometheus (match[], /{foo}/series), and Graphite (find) endpoints) now use the new dedicated aggregation endpoint (#1481)

v0.7.3

22 Mar 14:47
b9205e8

Choose a tag to compare

Changelog

New Features

  • M3DB: Add an AllQuery index query type (#1478)

Bug Fixes

  • M3DB: Fix to annotation pooling (#1476)
  • M3Coordinator: Only panics log a stacktrace rather than expected errors (#1480)

Performance

  • M3DB: Use a single results object for merging postings lists across blocks, rather than creating a result per block and discarding them immediately thereafter. This should reduce memory utilization significantly for queries that look back over a large number of blocks (#1474)
  • M3DB: Improvement to applying back pressure on writes with a full commitlog, which should improve M3DB's ability to apply back pressure under load and recover quickly after being overwhelmed with traffic. (#1482)

v0.7.2

16 Mar 01:03
667144e

Choose a tag to compare

Changelog

Bug Fixes

  • All Binaries: Fix LD flags in release so that version, branch, build date, etc are packaged into the binary properly.