3 ms·
I can give you an example. I inherited a system which, on a scheduled basis, completed the following, in order: * Drop a database * Rebuild that database from
by technion 11y ago
I can give you an example.
I inherited a system which, on a scheduled basis, completed the following, in order:
* Drop a database
* Rebuild that database from REST queries
The process took under a second and the "downtime" was acceptable. However, if there was ever a short connectivity outage, or the upstream was down, the result of that was that the database was dropped and inaccessible for 24 hours until the next scheduled run.
I'd put forward that we build a new database first and then, only if successful, perform a swap. Maybe we could implement a retry. But then came the response I knew I was going to see: "Well if your network's not reliable hire competent network admins that's not my problem".
In a sense they were correct, it wasn't their responsibility to ensure the network doesn't ever drop. It was however, their sheer laziness that led to repeated service outages.
- vram22 11y agoNice story. Reminds me: on a project I was on, we created some tests where we manually pulled the network cable out of some PCs (on a client-server LAN app), to check whether the app at least gave a reasonably appropriate error message instead of just hanging. Fun times.