Support for Non-rolling upgrades in Ozone.
Leader stuck in infinite install snapshot cycle when logs have been purged
SegmentedRaftLog syncWithSnapshot should not create a new open segment.
Leader unable to append logs to a recovering follower when its logs have been purged.
SegmentedRaftLogWorker#closeLogSegment should also roll the open segment maintained in the cache.
Log Entry Validation in appendEntry can fail after log purge.
State machine preAppend callback can throw exception without having leader to step down.
GitHub Pull Request #2121
GitHub Pull Request #2180
GitHub Pull Request #2390