Page MenuHomePhabricator

Protect background jobs from unhandled exceptions
Closed, ResolvedPublic

Description

Each time there is an update or insert in the storage back-end, we fire off background-update jobs for revision policy enforcement and secondary-indices updates. However, these asynchronous jobs are executed in parallel with the normal request execution pipeline, which means they are left unmonitored and unprotected. We need to make sure they are bullet-proof and that their execution cannot get interrupted by unhandled (and possibly synchronously-thrown) exceptions as that might leave the process hanging.

Event Timeline

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

Since it is friday and the background update jobs keep leaving RESTBase processes in a comatose state, I am going to redeploy the last-deployed version of RESTBase, and only rebuild the module dependencies, which will pick up the new version.

This has been deployed @ 12:43 UTC, the system seems stable and functional. So far so good - no unhandled exception errors in local syslogs.

Change 223297 had a related patch set uploaded (by Mobrovac):
Update restbase to 03ed384

https://gerrit.wikimedia.org/r/223297

Change 223297 merged by Mobrovac:
Update restbase to 03ed384

https://gerrit.wikimedia.org/r/223297

mobrovac claimed this task.

This has been fixed and confirmed to work in production.