Overview of common application problems

This issue applies most directly to data replication. Almost every system that uses replicated data must be able to change the sets of machines used for the replicas. For example, failed machines need to be replaced and occasionally new ones added to systems in the field. The potential for failures and other perturbations is significant during the process of changing the set of replicas because it involves extremely complex issues. If these issues are not addressed correctly, it leaves the system open to data integrity issues or other kinds of failures. Many distributed systems assume that nothing will happen if there are disturbances during this process and throw their hands up if some failure occurs, which typically can then result in a loss of data integrity.