This repository has been archived by the owner on Sep 30, 2024. 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:
deb
andrpm
packaging now default tosystemd
as opposed tosysv
golang1.12
is 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/: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 #850locate-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
andorchestrator-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 thanDataCenter
. E.g. an AWSus-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 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-replica
anddetach-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.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
bothtake-master
andgraceful-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 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.