aboutsummaryrefslogtreecommitdiff
path: root/chapter/4/dist-langs.md
diff options
context:
space:
mode:
authorConnor Zanin <cnnrznn@gmail.com>2016-12-13 13:28:58 -0500
committerConnor Zanin <cnnrznn@gmail.com>2016-12-13 13:28:58 -0500
commit3ad557858a0b6d1164648292f767bc9c7d78b126 (patch)
tree4e51e160eeed892e4a04f00206fb1f00ff50269f /chapter/4/dist-langs.md
parent7ea765654bc4716639cfc9600b2139a99f44ee29 (diff)
spell check
Diffstat (limited to 'chapter/4/dist-langs.md')
-rw-r--r--chapter/4/dist-langs.md2
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.