Hello all,for Optimistic Locking, I believe the implementation is like this: rails will issue the following statement to database Update user set name="a",version=2 where id=1 and version=1 but the problem is, generally database will have transaction Isolation (I believe Oracle do), so when Thread 1 issue that statement to database but not commited, Thread 2 will also issue that statement to database, because transaction Isolation, thread 2 will not see this user as version 2 but still version 1(unless thread 1 commited) (otherwise thread 2 is reading uncommitted which is not correct), then thread 1 commit, thread 2 commit, then all of a sudden, all threads are happy, the user record is still being modified by two threads, the optimistic locking doesn't work, Is this correct? Correct me if I'm wrong. -- http://hi.baidu.com/femto https://github.com/femto -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAJGhtu%3DWxUsnL0nmh1hFmJpG_SqStNyE11iDtb2-A76VDGnbMw%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.