With repeatable read isolation level, it is still possible to lose updates (second lost updates problem). E.g. in the scenario with isolation level set to RR:
1) transaction t1 reads data from row r1,
2) transaction t2 reads same data from row r1,
3) t1 modifies the data read in #1 and commits data to r1
4) t2 modifies the data read in #2 and commits data to r1. t1's update is lost
I tried this with Hibernate (isolation level set to RR) and saw the behavior as mentioned above.
Why then is it said that with RR isolation we do not get second lost updates problem?
I had tried the above experiment with MySQL, and looks like MySQL implements a different notion of RR: MySQL repeatable read and lost update/phantom reads