Failure Recovery: When the Cure Is Worse Than the Disease
Zhenyu Guo, Sean McDirmid, Mao Fan Yang, Zhuang Li, Pu Zhang, Yingwei Luo, Tom Bergan, Peter Bodík, Madan Musuvathi, Zheng Zhang, Lidong Zhou · 2014
Cloud services inevitably fail: machines lose power, networks become disconnected, pesky software bugs cause sporadic crashes, and so on. Unfortunately, failure recovery itself is often faulty; e.g. recovery can accidentally recursively replicate small failures to other machines until the entire cloud service fails in a catastrophic outage, amplifying a small cold into a contagious deadly plague! We propose that failure recovery should be engineered foremost according to the maxim of primum non nocere, that it “does no harm. ” Accordingly, we must consider the system holistically when failure occurs and recover only when observed activity safely allows for it.