Quorum Race: New-Then-Old, Then Write-Back

Quorum Race: New-Then-Old, Then Write-Back A sequence diagram generated by Archify. write v2=new only n1 stores v2 write v2 (delayed) in flight, not stored write v2 (delayed) in flight, not stored read r=2 v2=new sees {n1:v2, n2:v1}, returns new read r=2, starts after A returned v1=old STALE sees {n2:v1, n3:v1}: time moved backwards write-back v2 to quorum max version out BEFORE the read returns re-read r=2 v2=new every later quorum meets v2 In-flight write: v2 reaches only n1 New-then-old: the violation Write-back before return: the fix Writer · w=3 target · Sequence participant Writer w=3 target Reader A · r=2 first · Sequence participant Reader A r=2 first Reader B · r=2 second · Sequence participant Reader B r=2 second Replica n1 · v2=new · Sequence participant Replica n1 v2=new Replica n2 · v1=old · Sequence participant Replica n2 v1=old Replica n3 · v1=old · Sequence participant Replica n3 v1=old Legend main request return message