This repository was archived by the owner on Feb 18, 2025. It is now read-only.
GA release v3.1.0
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:
debandrpmpackaging now default tosystemdas opposed tosysvgolang1.12is required to buildorchestrator
Notable changes since 3.0.14:
- Supporting Consul auto DC KV distribution #819
A new configuration variableConsulCrossDataCenterDistribution(bool, default false) is introduced.
When enabled, the orchestrator leader (whether raft-based on not), as part ofsubmit-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
Addedpurge-binary-logs/:host/:port/:logFileAPI endpoint, supporting?force=true
purge-binary-logs willnow 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-errantcommand #850locate-gtid-errantreports the names of the binary logs containing errant GTID for a given instance.which-gtid-errantcommand outputs the errant GTID, if such exists.
- Adding
which-cluster-alias#900
orchestrator -c which-cluster-aliasandorchestrator-client -c which-cluster-aliasreturn 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-analysiswhen 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 thanDataCenter. E.g. an AWSus-east-1is 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 possibleDetectRegionQuery: alternatively, a query which computes the regionPreventCrossRegionMasterFailover: a failover restriction which only allows failovers within same region as failed master, or else abort promotion of a new master (similar in behavior toPreventCrossDataCenterMasterFailover)
- Forget instance: accept fuzzy/partial hostnames #886
- consolidate
detach-replicaanddetach-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 usego1.12or above; also in Dockerfile, Travis. - Support countLostReplicas in failover hooks #877
- Master failover: update alias #913
force-master-failoverdoes not require master to be writable- Web UI: take-master and graceful-master-takeover #895
bothtake-masterandgraceful-master-takeoverare now supported in all modes (smart, classic, GTID, pseudoGTID). - bugfix: fix
executed_gtid_setmissing 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.packagingnow 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 via
- Build: generating packages for both
systemd(default) andsysv(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.