Currently, the planning for a migration is interleaved with its actual execution. In addition to being unfortunate from a code cleanliness perspective, it also makes the code very hard to reason about with regards to fault tolerance. In fact, there are almost surely critical sections during which a failure could cause the entire system to deadlock.
Currently, the planning for a migration is interleaved with its actual execution. In addition to being unfortunate from a code cleanliness perspective, it also makes the code very hard to reason about with regards to fault tolerance. In fact, there are almost surely critical sections during which a failure could cause the entire system to deadlock.