Quote from lmk223a on 05/21/08 at 06:20:41:It happened to me when one user (the boss), left the AP-A, enter Vendors screen, open and active on a vendor name on her computer, and another user was creating a Purchase order. Only in my case, the checks printed but would not procede to process to the check register due to the record locks.
This is a really common programming bug. It's easy to forget to validate all of your resources before you start. The two easiest types of programs to do this in are operating systems and database programs.
So, what happens is the program gets part way through and then realizes that it can't access all the resources it needs. This leads to nothing but pure evil. Sometimes the program is designed to wait until it gets it's resources. This might take a long time if the boss has the resource locked and doesn't know to give it up. Eventually a timeout would probably occur in that case. If things are designed really well then the whole shooting match will automatically back out and nothing will have been changed. This can be a tricky thing to do in operating systems but not as tricky in database accessing programs.
Postgresql has MVCC which can minimize some of this trouble with record locks but maybe not in this case.