Changes since last release: v3.0.3...v3.0.5
Noteworthy:
- Faster failure detection. Recall that
orchestrator
uses a holistic approach where is needs agreement (consensus, if you will) from replicas that a master or an intermediate master are dead.orchestrator
requires a single agreement to all; there was an implicit and unintentional delay previously that causesorchestrator
to run two detection cycles.- As result,
orchestrator
will report moreUnreachableMaster
incidents, seeing that a single network glitch can cause a server probe error. Recall thatUnreachableMaster
is not an actionable alert; this does not translate to false positives, but to more non-actionable failure detections. - This is known to reduce detection time by some 5 seconds, depending on polling interval.
- As result,
- Faster failure detection where packets are dropped. Dropped packets typically cause confusion as they are not rejected and TCP takes more time to recognize failure.
orchestrator
will keep a concurrent stopwatch such that a probe may be hanging or blocked, yet detection proceeds uninterrupted.- This is known to reduce detection time by 5 to 15 seconds on packet drop incidents.
- More aggressive failure detection interval (once per sec, considerate of long running failure detection queries)
- Faster master failure recoveries. When, during recovery,
orchestrator
identifies that it has picked the "ideal" replica: the one thatorchestrator
really wants to promote and is marked as candidate (akaprefer
),orchestrator
immediately proceeds to promoting it as master, and asynchronously attaches the rest of the replicas below promoted server. This is known to reduce recovery time by 5-6 seconds. - Support for semi-sync enable/disable & visibility.
- introduced
orchestrator -c enable-semi-sync-master
,orchestrator -c enable-semi-sync-replica
,orchestrator -c disable-semi-sync-master
,orchestrator -c disable-semi-sync-replica
- introduced
- Complete removal of prepared statements.
orchestrator
now uses client-side query argument interpolation. This saves round trips as well as makesorchestrator
queries more easily identifiable. - A detection that is failed over is implicitly acknowledged. This means while next failover (on same host) is potentially blocked (as per anti flapping interval), detection itself is not.
- Rewrite of failure detection & recovery documentation.
- tabulated ascii topology, making it easier on scripting & automation
- Forcing, validating and documenting
RaftDataDir
- Fixed vagrant networking configuration - thanks @gtowey!
- UI changes
- Fixed
orchestrator/raft
bug where completed failovers were marked as "failed" on other raft member nodes.
$ sha256sum *
7bdd8a264832ae700586893b1814a1f44d387eb3a4cae99494cc03adbdf90a60 orchestrator-3.0.5-1.x86_64.rpm
434e7843db13c89d29dd03c9be1d8971372643866c0cc00848d9d70996ba1eb9 orchestrator-3.0.5-linux-amd64.tar.gz
f010ddd846731ce13886e921b8bddc35b7ef783bb53884b25883bf246f1ef153 orchestrator-cli-3.0.5-1.x86_64.rpm
265275d96346f6d7b582612a284b409458a1b5bb08e152aceae0e439a2b7990c orchestrator-cli_3.0.5_amd64.deb
c7b34b19e12f018e7287a6bfb801157c127f1acf35b1add76eb5a00cff5241c0 orchestrator-client-3.0.5-1.x86_64.rpm
50c292833bd150aceee549ec9e9052ff0fd05b71dc6382bd56cbbc75ce71b033 orchestrator-client_3.0.5_amd64.deb
c2c5aebe9d4aa90a4decfcfbf747b4b231488c02a33df2264a2c49bfe12224a5 orchestrator_3.0.5_amd64.deb
35c2204d3d274491855026fcea6321ba1f45ea245f69e235f7373b2b1b3d143d orchestrator-3.0.5-1.x86_64.rpm
434268a0db23bae82d0e26acdcdf8ad8e3b157a95221ab193e150ff8ec97e711 orchestrator-cli-3.0.5-1.x86_64.rpm
b206c28c2df497dd7b573665d1ce06deeedebbec407fb17eef08309791603554 orchestrator-client-3.0.5-1.x86_64.rpm