v0.8.9
What's Changed
- Feature: define custom Entry type for raft log by @drmingdrmer in #720
- Fix: trait RaftLogId should be public by @drmingdrmer in #726
- Change: StoreBuilder does not need to run a test, it only needs to build a store by @drmingdrmer in #730
- Feature: add methods to StorageIOError to simplify error creation by @drmingdrmer in #738
- Change: remove
Clone
from traitAppData
by @drmingdrmer in #740 - Change: instead of a slice,
RaftStorage::append_to_log()
now accepts anIntoIterator
by @drmingdrmer in #742 - Improve: follower stores the accepted log id by @drmingdrmer in #748
- Improve: send AppendEntries response before committing entries by @drmingdrmer in #751
- Change: remove unused trait RaftStorageDebug by @drmingdrmer in #759
- Change: remove defensive check utilities by @drmingdrmer in #761
- Change: move
RaftStateMachine
out ofRaftStorage
by @drmingdrmer in #763 - Improve: move state machine operations to another task by @drmingdrmer in #767
- Fix: if the application does not persist snapshot, build a snapshot when starting up by @drmingdrmer in #768
- Improve: getting a snapshot does not block RaftCore task by @drmingdrmer in #773
- Fix: debug level check by @drmingdrmer in #780
- Improve: reduce rate to flush metrics by @drmingdrmer in #782
- Change:
RaftMetrics.replication
type toBTreeMap<NodeId, Option<LogId>>
by @drmingdrmer in #785 - Feature: add backoff strategy for unreachable nodes by @drmingdrmer in #779
- Improve: create a channel
notify
specifically for interal messages by @drmingdrmer in #794 - Change: move snapshot type definition from storage traits to
RaftTypeConfig
by @drmingdrmer in #799 - Improve: move receiving snapshot chunk to sm::Worker by @drmingdrmer in #803
- Feature: add RaftMetrics::purged to report the last purged log id by @drmingdrmer in #809
- Feature: add Wait::purged() to wait for purged to become the expected by @drmingdrmer in #810
- Fix: replication should be able to shutdown when replicating snapshot to unreachable node by @drmingdrmer in #811
- Feature: add
RaftMetrics.vote
,Wait::vote()
by @drmingdrmer in #815 - Improve: build snapshot in anohter task by @drmingdrmer in #816
- Feature: new RaftNetwork API with argument RCPOption by @drmingdrmer in #825
- Feature:
RaftNetwork::send_append_entries()
can return PartialSuccess by @drmingdrmer in #831 - Change: remove unused error CommittedAdvanceTooMany by @drmingdrmer in #838
- Fix: add_learner() should block forever by @drmingdrmer in #847
- Feature: leader lease by @drmingdrmer in #848
- Feature: add SnapshotPolicy::Never by @drmingdrmer in #854
- Feature: add Raft::purge_log() by @drmingdrmer in #855
- Improve: IntoIterator::IntoIter should be Send by @drmingdrmer in #868
- Improve: impl Clone for Raft does not require Clone for its type parameters by @drmingdrmer in #872
New Contributors
- @HHoflittlefish777 made their first contribution in #842
- @leiysky made their first contribution in #849
Full Changelog: v0.8.3...v0.8.9