raft v1.2.0 Release Notes

Release Date: 2020-10-05 // 6 months ago
  • ๐Ÿ‘Œ IMPROVEMENTS

    • โœ‚ Remove StartAsLeader configuration option [GH-364]
    • ๐Ÿ‘ Allow futures to react to Shutdown() to prevent a deadlock with takeSnapshot() [GH-390]
    • Prevent non-voters from becoming eligible for leadership elections [GH-398]
    • โœ‚ Remove an unneeded io.Copy from snapshot writes [GH-399]
    • โš  Log decoded candidate address in duplicate requestVote warning [GH-400]
    • Prevent starting a TCP transport when IP address is nil [GH-403]
    • Reject leadership transfer requests when in candidate state to prevent indefinite blocking while unable to elect a leader [GH-413]
    • โž• Add labels for metric metadata to reduce cardinality of metric names [GH-409]
    • โž• Add peers metric [GH-413]

    ๐Ÿ› BUG FIXES

    • โœ… Make LeaderCh always deliver the latest leadership transition [GH-384]
    • โšก๏ธ Handle updating an existing peer in startStopReplication [GH-419]

Previous changes from v1.1.2

  • ๐Ÿ”‹ FEATURES

    • ๐Ÿ‘Œ Improve FSM apply performance through batching. Implementing the BatchingFSM interface enables this new feature [GH-364]
    • โž• Add ability to obtain Raft configuration before Raft starts with GetConfiguration [GH-369]

    ๐Ÿ‘Œ IMPROVEMENTS

    • โœ‚ Remove lint violations and add a make rule for running the linter.
    • Replace logger with hclog [GH-360]
    • ๐Ÿ”ง Read latest configuration independently from main loop [GH-379]

    ๐Ÿ› BUG FIXES

    • Export the leader field in LeaderObservation [GH-357]
    • ๐Ÿ›  Fix snapshot to not attempt to truncate a negative range [GH-358]
    • Check for shutdown in inmemPipeline before sending RPCs [GH-276]