Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

GA release v3.1.0

Compare
Choose a tag to compare
@shlomi-noach shlomi-noach released this 03 Jul 05:34
· 1138 commits to master since this release

Changes since v.3.0.14: v3.0.14...v3.1.0

v3.1.0 is now released. It's been a while since previous release and so this release has longer changelog.

Users will note the jump of minor version from 3.0.14 to 3.1.0. This repository does not use semantic versioning. The change of versioning is largely attributed to:

  • deb and rpm packaging now default to systemd as opposed to sysv
  • golang1.12 is required to build orchestrator

Notable changes since 3.0.14:

  • Supporting Consul auto DC KV distribution #819
    A new configuration variable ConsulCrossDataCenterDistribution (bool, default false) is introduced.
    When enabled, the orchestrator leader (whether raft-based on not), as part of submit-master-kv-stores, will ask Consul to distribute the KV values to all known datacenters.
    • also related: Consul KV consistency checks #894
  • purge-binary-logs API, safe operation #825
    Added purge-binary-logs/:host/:port/:logFile API endpoint, supporting ?force=true
    purge-binary-logs will now refuse purging, by default, if the host has replicas which have not yet applied events in the binary logs to-be-purged.
  • Adding locate-gtid-errant command #850
    • locate-gtid-errant reports the names of the binary logs containing errant GTID for a given instance.
    • which-gtid-errant command outputs the errant GTID, if such exists.
  • Adding which-cluster-alias #900
    orchestrator -c which-cluster-alias and orchestrator-client -c which-cluster-alias return the alias for a cluster given either -c <cluster> or -i <instance>.
  • Create Post Take-Master Processes Hook #859, thanks @daniel-2647
    This PR introduces 1 new config option:
    PostTakeMasterProcesses : "some PostTakeMasterHook here"
  • NoFailoverSupportStructureWarning, NoLoggingReplicasStructureWarning #852
  • Add structure warning to replication-analysis when all masters are read_only #878, thanks @jfudally
  • Adding Region; Prevent cross region failover #884
    Adding Region field in Instance, and a corresponding region column in database_instance backend table.
    Region is a geographic location, of higher level than DataCenter. E.g. an AWS us-east-1 is a region.
    The region value is supported by the following new configuration variables:
    • RegionPattern: a regexp to extract the region name from the hostname, if possible
    • DetectRegionQuery: alternatively, a query which computes the region
    • PreventCrossRegionMasterFailover: a failover restriction which only allows failovers within same region as failed master, or else abort promotion of a new master (similar in behavior to PreventCrossDataCenterMasterFailover)
  • Forget instance: accept fuzzy/partial hostnames #886
  • consolidate detach-replica and detach-replica-master-host #801
  • server side problem analysis #793; api owns Problems, as opposed to JS computing them
  • Workaround to bug 83713: GTID, MTR and relay log corruption #807
  • all things equal, prefer promoting instance without errant GTID #812
  • relocate-replicas: sanity check to avoid invalid circular replication #839
  • Modify bulk-promotion-rules api call to return the promotion rule expiry timestamp #843, thanks @sjmudd
  • Provide snapshot-topologies support in orchestrator-client (and via api) #912, thanks @sjmudd
  • orchestrator-client and orchestrator command line usage differences #903, thanks @sjmudd
  • Update support for go 1.12 (also triggers some file reformatting) #861 , thanks @sjmudd
    This has been expanded to only use go1.12 or above; also in Dockerfile, Travis.
  • Support countLostReplicas in failover hooks #877
  • Master failover: update alias #913
  • force-master-failover does not require master to be writable
  • Web UI: take-master and graceful-master-takeover #895
    both take-master and graceful-master-takeover are now supported in all modes (smart, classic, GTID, pseudoGTID).
  • bugfix: fix executed_gtid_set missing from instances without binlogs #804, thanks @fuyar
  • bugfix: Check and recover random order #800, thanks @yangeagle
  • bugfix: in orchestrator-client for authentication handling #797, thanks @cswingler
  • bugfix: LeaderURI: self identify, avoid infinite forwarding #792
  • bugfix: fix flappy integration test #785, thanks @mialinx
  • bugfix: ChangeMasterCredentials: fixed when server is not a replica #789
  • bugfix: adding bash to final container so examples work #805, thanks @anthonyneto
  • bugfix: add curl and jq for orchestrator-client #863, thanks @marcosvm
  • Add the DiscoveryIgnoreReplicaHostnameFilters in the sample configuration. #815, thanks @jfg956
  • Add MySQLConnectTimeoutSeconds option in sample conf files. #860, thanks @jfg956
  • orchestrator-client gsed support for Darwin/BSD #795, thanks @cswingler
  • Documentation updates & fixes, thanks @seeekr, @utdrmac, @ruleant, @cezmunsta, @sjmudd
  • Build: Dockerfile.packaging now provides a full build cycle to generate binaries and release packaged (tgz, deb, rpm)
    • build via docker build . -f Dockerfile.packaging -t orchestrator-packaging
    • docker run --rm -it orchestrator-packaging:latest, find artifacts in /tmp/orchestrator-release
  • Build: generating packages for both systemd (default) and sysv (see package name with -sysv-), thanks @mateusduboli

See packages in v3.1.1

Due to an oversight, packages attached in this release were built with musl as opposed to glibc. Please use packages from https://github.com/github/orchestrator/releases/tag/v3.1.1 or later.