v1.0.0
·
1081 commits
to master
since this release
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.bootstrappersremoved - M3DB:
db.confignested underdb.discovery.config(discoverycan optionally accept differenttypes of defaults instead of a customconfig) - M3DB:
db.fsconfig key renamed todb.filesystem - M3DB:
db.writeNewSeriesLimitPerSecondconfig key nested underdb.limitsasdb.limits.writeNewSeriesPerSecond - M3Coordinator:
cluster.namespaces.storageMetricsTyperemoved - M3Coordinator:
tagOptions.tagOptionsno longer supportslegacytype - M3Query:
limits.perQuery.maxComputedDatapointsremoved - M3Query:
limits.perQuery.maxFetchedDatapointsremoved - M3Query:
limits.global.maxFetchedDatapointsremoved - M3Query:
cacheremoved - M3Query:
listenAddresschanged to always be resolved as a string from config. Format changed from
listenAddress:
config: "..."
value: "..."
to
listenAddress: "..."
API
- M3DB:
/services/m3db/database/config/bootstrappersdynamic bootstappers endpoint removed - M3Coordinator: Removed deprecated URL
/api/v1/namespacein favor of stable preferred URL/api/v1/services/m3db/namespace - M3Coordinator: Removed deprecated URL
/api/v1/namespace/initin favor of stable preferred URL/api/v1/services/m3db/namespace/init - M3Coordinator: Removed deprecated URL
/api/v1/namespace/unaggin favor of stable preferred URL/api/v1/services/m3db/namespace/unagg - M3Coordinator: Removed deprecated URL
/api/v1/placementin favor of stable preferred URL/api/v1/services/m3db/placement - M3Coordinator: Removed deprecated URL
/api/v1/placement/initin 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, andcost_reporter_over_datapoints_limit.