diff options
| author | Connor Zanin <cnnrznn@gmail.com> | 2016-12-13 13:28:58 -0500 |
|---|---|---|
| committer | Connor Zanin <cnnrznn@gmail.com> | 2016-12-13 13:28:58 -0500 |
| commit | 3ad557858a0b6d1164648292f767bc9c7d78b126 (patch) | |
| tree | 4e51e160eeed892e4a04f00206fb1f00ff50269f /chapter/4/dist-langs.md | |
| parent | 7ea765654bc4716639cfc9600b2139a99f44ee29 (diff) | |
spell check
Diffstat (limited to 'chapter/4/dist-langs.md')
| -rw-r--r-- | chapter/4/dist-langs.md | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chapter/4/dist-langs.md b/chapter/4/dist-langs.md index e8174e1..263a356 100644 --- a/chapter/4/dist-langs.md +++ b/chapter/4/dist-langs.md @@ -33,7 +33,7 @@ If all reply "yes," the action is *committed*. Otherwise, as in the case of partial failure, no changes are committed. Two phase commit ensures that state is not changed in a partial manner. Another solution to partial failure is redundancy, or replication. -If one replica of a computation failes, the others may survive and continue. +If one replica of a computation fails, the others may survive and continue. Replication can also be used to improve performance, as in MapReduce and Spark Streaming. Checkpoint and restore has also been implemented as a way to recover from partial failure. By serializing a recent "snapshot" of state to stable storage, recomputing current state is made cheap. |
