TransactionalMapWrapper OptimisticMapWrapper PessimisticMapWrapper Lost update Possible Not possible Not possible Dirty write Not possible Not possible Not possible Dirty read Not possible Not possible Not possible Lost update Possible Not possible Not possible Nonrepeatable read Possible Not possible Not possible Phantoms Possible Not possible Not possible Read Skew Possible Not possible Not possible Write Skew Possible Possible Not possible Readers block writers No No Yes Writers block readers No No Yes Writers block writers No No Yes Might deadlock No No Yes Commit might fail No Yes No Isolation Level Read Committed (with lost updates possible) Snapshot (Oracle would call it Serializable) Serializable
Lost update
Possible
Not possible
Dirty write
Dirty read
Nonrepeatable read
Phantoms
Read Skew
Write Skew
Readers block writers
No
Yes
Writers block readers
Writers block writers
Might deadlock
Commit might fail
Isolation Level
Read Committed (with lost updates possible)
Snapshot (Oracle would call it Serializable)
Serializable