The Dreaded Lock

Many active users of PowerBase, particularly users with over 50,000 contacts or lots of smart groups, have experienced a "Backtrace" that indicates a database locking problem.

There are two particular kinds of Backtraces: Deadlocks and Lock wait timeouts.

They each typically happen if you and another person are both doing something on the database at the same time that is in conflict. It can also happen if the "other person" is a scheduled job (like sending an email, or clearing and rebuilding your smart group cache) - so even if you are the only person logged into the database, you might still experience a locking problem.

Deadlocks

Here's one example that shows a "Deadlock":

Sometimes you have to search carefully to find the reason.

If you experience a Deadlock error, it means that you and another person (or scheduled job) are trying to edit related records in a circular way. Since you are both waiting for the other to be finished, it is a "deadlock" and you get an error. Typically, you can try again immediately afterwards and your changes will go through.

Lock wait timeout

Another common reason is a "Lock wait timeout." It will look similar, but include: " Lock wait timeout exceeded; try restarting transaction" instead.

Although it also has the word Lock in it - it is a very different error. This error indicates that another user is performing a task on your database that is taking a very long time (typically a de-dupe or an import) and your task waited but has now given up.

If you get this type of error - please report it to support right away. We can manually terminate the other task so you can get your work done.

Often, the long running task may even be abandoned by the person who first ran it, but it still continues in the background.

Category: 
PowerBase - General