4 ms·
> If downtime has consequences then you have every incentive to make rollbacks happen at the touch of a button. Not all rollbacks are the same. Even in a theor
by bloody-crow 7y ago
> If downtime has consequences then you have every incentive to make rollbacks happen at the touch of a button.
Not all rollbacks are the same. Even in a theoretical scenario where you can roll back the code to a previous version with a push of a button, it's not always possible due to many factors.
Sometimes new code creates and persists state that the old code can't handle and rolling back would just make the old version blow up because of it. Sometimes clients can't talk to the old code after talking to new code and expecting new protocol.
The point is, there's a lot of factors that could make one or another remediation strategy more or less viable, and sometimes rolling forward is the best way to proceed.
The article tries to advocate that rolling back is ALWAYS the correct thing to do, which is demonstrably not true for certain circumstances.
- ryandrake 7y ago> Sometimes new code creates and persists state that the old code can't handle and rolling back would just make the old version blow up because of it. Sometimes clients can't talk to the old code after talking to new code and expecting new protocol. These are both severe bugs that should have blocked deployment of the old version. Software should gracefully ignore state or data file content it doesn’t expect—not blow up. Well known techniques like fuzzing can help catch this kind of defect. Clients should be able to probe which version they are talking to and negotiate the protocol. This is kind of basic versioning cleanliness.
- goatinaboat 7y agoSometimes new code creates and persists state that the old code can't handle and rolling back would just make the old version blow up because of it. Or worse, the new feature involved the tracking of something in the real world, such as inventory or money, and rolling back after the feature had been used by a real customer would lose that. The number of times I’ve had to explain to webdevs that when a customer asks where their money is “in a temp table” is not an acceptable answer.
- gtyras2mrs 7y agoOr sometimes rolling back has political consequences (rolling back could be construed as failure and an exec somewhere up the chain gets pissed off).
- delusional 7y agoI get what you're saying, but by the time you are playing political games with your software you've already lost the technical battle.