The updates should be performed in an atomic way: if any part of the update fails, the whole update should fail and the intermediate changes reverted
The updates should be performed in an atomic way:
if any part of the update fails, the whole update should fail and the intermediate changes reverted