M3 Versions Save

M3 monorepo - Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Graphite Compatible, Metrics Platform

v1.0.0-rc.1

3 years ago

Changelog

8a8827926 [dbnode] Remove namespaces from example config and integration tests (#2866) 345a67e91 Merge remote-tracking branch 'origin/master' into rc d6b7eba15 [query] Add non-ready namespaces to Clusters interface and use in /namespace/ready endpoint (#2828)

v0.15.17-hotfix.3

3 years ago

Changelog

Bug Fixes

  • M3Query: Add lookback duration from query config (#2913)

v1.0.0

3 years ago

Changelog

Overview

This release makes breaking changes to the APIs and configuration to provide a simpler experience both for setup and operating M3.

  • New M3 website.
  • New M3 documentation.
  • Simple M3DB configuration and guides.
  • M3DB hard limits limits for high resiliency under load.
  • Bootstrap rearchitecture, now able to boostrap hundreds of millions of recently written datapoints in minutes for reads on restart.
  • Continued focus on baseline performance release-over-release.

Features

  • M3DB: Namespace resolution and retention now configured dynamically via API and stored in etcd instead of being defined statically in M3Coordinator configuration.
message DatabaseCreateRequest {
  // ...

  // Optional aggregated namespace to create in 
  // addition to unaggregated namespace
  AggregatedNamespace aggregated_namespace = 8;
}
  • M3DB: Minimal configuration file with default settings looks like:
coordinator: {}
db: {}

and includes common settings such as global query limits.

Backwards Incompatible Changes

Configuration

  • M3DB: db.bootstrap.bootstrappers removed
  • M3DB: db.config nested under db.discovery.config (discovery can optionally accept different types of defaults instead of a custom config)
  • M3DB: db.fs config key renamed to db.filesystem
  • M3DB: db.writeNewSeriesLimitPerSecond config key nested under db.limits as db.limits.writeNewSeriesPerSecond
  • M3Coordinator: cluster.namespaces.storageMetricsType removed
  • M3Coordinator: tagOptions.tagOptions no longer supports legacy type
  • M3Query: limits.perQuery.maxComputedDatapoints removed
  • M3Query: limits.perQuery.maxFetchedDatapoints removed
  • M3Query: limits.global.maxFetchedDatapoints removed
  • M3Query: cache removed
  • M3Query: listenAddress changed to always be resolved as a string from config. Format changed from
listenAddress:
  config: "..."
  value: "..."

to

listenAddress: "..."

API

  • M3DB: /services/m3db/database/config/bootstrappers dynamic bootstappers endpoint removed
  • M3Coordinator: Removed deprecated URL /api/v1/namespace in favor of stable preferred URL /api/v1/services/m3db/namespace
  • M3Coordinator: Removed deprecated URL /api/v1/namespace/init in favor of stable preferred URL /api/v1/services/m3db/namespace/init
  • M3Coordinator: Removed deprecated URL /api/v1/namespace/unagg in favor of stable preferred URL /api/v1/services/m3db/namespace/unagg
  • M3Coordinator: Removed deprecated URL /api/v1/placement in favor of stable preferred URL /api/v1/services/m3db/placement
  • M3Coordinator: Removed deprecated URL /api/v1/placement/init in favor of stable preferred URL /api/v1/services/m3db/placement/init

Misc

  • M3Query: Concept of data point limit enforcers removed in favor of the other remaining query limits (e.g. max series). This also removed metrics cost_reporter_datapoints, cost_reporter_datapoints_counter, and cost_reporter_over_datapoints_limit.

v1.0.0-rc.0

3 years ago

Changelog

Official M3 1.0 release candidate

1.0.0

Features

  • M3DB: Namespace resolution and retention now configured dynamically via API and stored in etcd instead of being defined statically in M3Coordinator configuration.
message DatabaseCreateRequest {
  // ...

  // Optional aggregated namespace to create in 
  // addition to unaggregated namespace
  AggregatedNamespace aggregated_namespace = 8;
}
  • M3DB: Minimal configuration file with default settings looks like:
coordinator: {}
db: {}

and includes common settings such as global query limits.

Backwards Incompatible Changes

Configuration

  • M3DB: db.bootstrap.bootstrappers removed
  • M3DB: db.config nested under db.discovery.config (discovery can optionally accept different types of defaults instead of a custom config)
  • M3Coordinator: cluster.namespaces.storageMetricsType removed
  • M3Coordinator: tagOptions.tagOptions no longer supports legacy type
  • M3Query: limits.perQuery.maxComputedDatapoints removed
  • M3Query: limits.perQuery.maxFetchedDatapoints removed
  • M3Query: limits.global.maxFetchedDatapoints removed
  • M3Query: cache removed
  • M3Query: listenAddress changed to always be resolved as a string from config. Format changed from
listenAddress:
  config: "..."
  value: "..."

to

listenAddress: "..."

API

  • M3DB: /services/m3db/database/config/bootstrappers dynamic bootstappers endpoint removed
  • M3Coordinator: Removed deprecated URL /api/v1/namespace in favor of stable preferred URL /api/v1/services/m3db/namespace
  • M3Coordinator: Removed deprecated URL /api/v1/namespace/init in favor of stable preferred URL /api/v1/services/m3db/namespace/init
  • M3Coordinator: Removed deprecated URL /api/v1/namespace/unagg in favor of stable preferred URL /api/v1/services/m3db/namespace/unagg
  • M3Coordinator: Removed deprecated URL /api/v1/placement in favor of stable preferred URL /api/v1/services/m3db/placement
  • M3Coordinator: Removed deprecated URL /api/v1/placement/init in favor of stable preferred URL /api/v1/services/m3db/placement/init

Package

  • github.com/m3db/m3/src/x/close removed in favor of github.com/m3db/m3/src/x/resource
  • github.com/m3db/m3/src/dbnode/clock removed in favor of github.com/m3db/m3/src/x/clock
  • github.com/m3db/m3/src/x/dice/dice.go moved to github.com/m3db/m3/src/dbnode/storage/dice.go
  • github.com/m3db/m3/src/x/lockfile/lockfile.go moved to github.com/m3db/m3/src/dbnode/server/lockfile.go

Misc

  • M3Query: Concept of data point limit enforcers removed in favor of the other remaining query limits (e.g. max series). This also removed metrics cost_reporter_datapoints, cost_reporter_datapoints_counter, and cost_reporter_over_datapoints_limit.
  • Linter enabled

v0.15.17-hotfix.2

3 years ago

Changelog

This hotfix release allows for earlier access for end users on 0.15.17 to node join improvements.

Misc

  • M3DB: Up default filesystem persist rate limit (#2806)
  • M3DB: Evict info files cache before index bootstrap in peers bootstrapper (#2802)

v0.15.17-hotfix.1

3 years ago

Changelog

This hotfix release allows for earlier access for end users on 0.15.17 to high volume query improvements.

Performance

  • M3DB: Add index regexp DFA compilation cache to avoid allocating DFAs for same expressions (#2814)
  • M3DB: Use false as default value for cache on retrieve to rely on FS cache in favor of expensive cache allocated by Go runtime (#2813)

v0.15.17-hotfix.0

3 years ago

Changelog

This hotfix release allows for earlier access for end users on 0.15.17 to peer streaming improvements.

Performance

  • M3DB: Add ability to configure concurrent building of index segments at bootstrap (#2620)
  • M3DB: Add configuration to flush data in parallel for peer streaming (#2594)

v0.15.17

3 years ago

Changelog

Features

  • M3Query: Add aggregate Graphite function (#2584)
  • M3Query: Add applyByNode Graphite function (#2654)
  • M3Query: Graphite ParseTime function support greatly expanded to be more in line with Graphite allowances (#2621)

Bug Fixes

  • M3Aggregator: Add default m3msg write timeouts to mitigate deadlocking writes with a stale TCP connection (#2698)
  • M3DB: Fix a bug in bootstrap index caching that would cause long bootstrap times (#2703)
  • M3Query: Fix Graphite constantLine() function to return 3 steps (#2699)
  • M3Query: Fix Graphite limit snapping bug in movingAverage and movingMedian functions (#2694)

v0.15.16

3 years ago

Changelog

Features

  • M3Query: Add divideSeriesLists Graphite function (#2585)
  • M3Query: Add integralByInterval Graphite function (#2596)
  • M3Query: Add highest, lowest Graphite functions (#2623)
  • M3Query: Add resolution exceeds query range warning (#2429)

Documentation

  • M3Coordinator: Added OpenAPI specification for namespace update endpoint (#2629)

Misc

  • M3Coordinator: Add config option for writes to leaving shards to count towards consistency and read level unstrict all (#2687)
  • All: Upgrade TChannel to v1.14 (#2659)

v0.15.15

3 years ago

Changelog

Features

  • M3DB: Add configuration to limit bytes read for historical metrics in a given time window (#2627)
  • M3DB: Add configuration to toggle block caching (#2613)
  • M3Coordinator: Add extended configuration of label and tag validation (#2647)

Performance

  • M3DB: Perform single pass when reading commit log entry and reuse result for second bootstrap phase (#2645)

Documentation

  • M3DB: Documentation for fileset migrations, the forward and backwards compatibility guarantees and configuring migrations (#2630)