Page MenuHomePhabricator

Retry transaction after lock contention
Closed, DuplicatePublic

Description

In general, we need to review how database transactions are being used. The dequeue loop is way too large of a transaction.

But given what we have, if the transaction dies with a locking error, we should retry the entire thing a few times.

If there's a deadlock, that should result in an uppercase failmail.

Event Timeline

awight raised the priority of this task from to Medium.
awight updated the task description. (Show Details)
awight subscribed.

We're getting a few deadlocks trying to add import contacts (when adding the email address) since the 4.6 upgrade. Right now those messages are just getting dumped into the damaged queue.

I'm regularly checking on the damaged db to re-queue these things manually. Would be nice not to have to do that (and not to get so many failmails).