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 |