Safe retry
Ideally, the CC scheme should ensure that all transactions eventually commit (perhaps after some number of automatic retries), unless the user requests an abort.
...
The importance of safe retry is often overlooked, and many serializable schemes do not provide this property, including 2PL (T 0 could deadlock with the winner of a previous deadlock) and OCC that relies on read set validation (the overwriter could still be in progress, causing another failure)
一文目と二文目では微妙に内容が異なる.
• Safe retry: if a transaction is aborted, immediately retrying the same transaction will not cause it to fail again with the same serialization failure.
日本語で口語にしてみると,「トランザクションが同じアボートを繰り返さない保証」をプロトコルが持っていることを safe retry と呼ぶ.この定義から分かる通り,Safe retryはコミットを保証しない.同じ原因のアボートの繰り返しを排除しているにすぎない.したがってFairnessあるいはStarvation-freeとは似て非なるもの.こ これらは「トランザクションが必ずコミットできること」を保証しており,SSNの説明の一文目に近い.