aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/fail_fast.md
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-04-29 13:04:53 -0700
committerGravatar Craig Tiller <ctiller@google.com>2016-04-29 13:04:53 -0700
commit2a932daaafbec9874d9fb594419f68f9cb8f9187 (patch)
tree8a23ab0a8bc991ce5023fe636fd43ab25fb330ec /doc/fail_fast.md
parentf128cd2c6eb2494e48d093f4370106e90edbc424 (diff)
Spell out fail fast semantics
Diffstat (limited to 'doc/fail_fast.md')
-rw-r--r--doc/fail_fast.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/fail_fast.md b/doc/fail_fast.md
new file mode 100644
index 0000000000..3ed4297194
--- /dev/null
+++ b/doc/fail_fast.md
@@ -0,0 +1,15 @@
+gRPC Fail Fast Semantics
+========================
+
+Fail fast requests allow terminating requests (with status UNAVAILABLE) prior
+to the deadline of the request being met.
+
+gRPC implementations of fail fast can terminate requests whenever a channel is
+in the TRANSIENT_FAILURE or SHUTDOWN states. If the channel is in any other
+state (CONNECTING, READY, or IDLE) the request should not be terminated.
+
+Fail fast SHOULD be the default for gRPC implementations, with an option to
+switch to non fail fast.
+
+The opposite of fail fast is 'ignore connectivity'.
+