I don't think it's related unless the tool you used to update the tables has locked the DB somehow.
The underlying cause is that there is a pending transaction in the DB. In particular, the call being made is:
This is doing an Update to the jforum_users table and not any of the watch tables.
This could be a transient problem with some process just holding on to a lock at the wrong time for too long. Or it might indicate that somewhere some code is creating a deadlock situation. E.g., process X is waiting on Y who is waiting on Z who is waiting on X....
Thanks for your help so far; I think we're getting close to the answer.
I can see why you'd think from that stack trace that the database was locked, but that's not the case here. We're using PostgreSQL on the backend, and that error message means a previous statement within the current transaction has failed. In PostgreSQL, within a transaction, once a statement has failed, every subsequent statement until the next rollback will get that error.
I found the revelant information from the server log. Unfortunately, there is no stack trace for the initial error, which does appear to be due to the new unique constraint:
So the stack trace posted earlier (which I have snipped out here) is just fallout from the real problem, for which we don't have a stack trace.
-Jonathan [originally posted on jforum.net by jfuerth]