When i read recovery internal : https://github.com/apple/foundationdb/blob/master/design/recovery-internals.md
in phase 3: https://github.com/apple/foundationdb/blob/master/design/recovery-internals.md#phase-3-recruiting
choose of recoveryVersion maybe below than durable version:
- If all of them are alive during recovery, master will choose
max(80, 90, 95) = 95as the last epoch’s end version andmin(100, 110, 120)=100as the recovery version. Versions between96and100will be copied to new generation’s tLogs. Note some of them101to120are actually durable on one or two tLogs, but the master chooses to discard them. If a storage server has peeked versions in the range of[101, 120], these versions are in memory of the storage server and will be rolled back (i.e., discarded).
if transaction committed in [101,120], it may be rollbacked in recovery ?
which induce a voliatle of Durablilty