1
0
Fork 0

Update CHANGELOG for 6.0

master
Philip O'Toole 3 years ago
parent 497ee77625
commit 67d78449dc

@ -1,3 +1,13 @@
## 6.0.0 (unreleased)
This release implements a significant design change. In the 5.0 series, Follower nodes learned the HTTP API address of a cluster Leader via information - known as _Metadata_ - that each node wrote to the Raft log. This Metadata was then available to each node in the cluster, if it needed to redirect queries to the cluster Leader. However this design is somewhat complex, and requires the tracking of state, in addition to the SQLite database. It also meant that if the Metadata got out of sync with the Raft state, the cluster could be a significantly degraded state. In this new system, a node now queries the Leader as needed, when that node needs to learn the HTTP API address. And without any possibility of discrepancy between Metadata and Raft state, a whole class of potential bugs is removed.
The request for the Leader HTTP API address travels over the existing Raft TCP connection, so does not introduce any new failure modes. This multiplexing of the Raft connection is performed via the `mux` package.
This new design means that nodes running earlier software cannot communicate with 6.0 nodes, as 6.0 software no longer performs Metadata updates. As a result, **rqlite clusters running 5.x software or earlier must be explicitly upgraded**. To upgrade from an earlier version to this release you should [backup your Leader node](https://github.com/rqlite/rqlite/blob/master/DOC/BACKUPS.md), and [restore the database dump](https://github.com/rqlite/rqlite/blob/master/DOC/RESTORE_FROM_SQLITE.md) into a new 6.0 cluster.
### Implementation changes and bug fixes
- [PR #792](https://github.com/rqlite/rqlite/pull/792): Fetch leader HTTP API addresses on demand.
## 5.12.1 (unreleased)
### Implementation changes and bug fixes

Loading…
Cancel
Save