mirror of https://github.com/grpc/grpc.git
commit
82a21eda97
80 changed files with 337 additions and 333 deletions
@ -1,15 +1 @@ |
||||
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'. |
||||
|
||||
Moved to wait-for-ready.md |
||||
|
@ -0,0 +1,8 @@ |
||||
Each version of gRPC gets a new description of what the 'g' stands for, since |
||||
we've never really been able to figure it out. |
||||
|
||||
Below is a list of already-used definitions (that should not be repeated in the |
||||
future), and the corresponding version numbers that used them: |
||||
|
||||
- 1.0 'g' stands for 'gRPC' |
||||
- 1.1 'g' stands for 'good' |
@ -0,0 +1,14 @@ |
||||
gRPC Wait for Ready Semantics |
||||
============================= |
||||
|
||||
If an RPC is issued but the channel is in `TRANSIENT_FAILURE` or `SHUTDOWN` |
||||
states, the RPC is unable to be transmited promptly. By default, gRPC |
||||
implementations SHOULD fail such RPCs immediately. This is known as "fail fast," |
||||
but usage of the term is historical. RPCs SHOULD NOT fail as a result of the |
||||
channel being in other states (`CONNECTING`, `READY`, or `IDLE`). |
||||
|
||||
gRPC implementations MAY provide a per-RPC option to not fail RPCs as a result |
||||
of the channel being in `TRANSIENT_FAILURE` state. Instead, the implementation |
||||
queues the RPCs until the channel is `READY`. This is known as "wait for ready." |
||||
The RPCs SHOULD still fail before `READY` if there are unrelated reasons, such |
||||
as the channel is `SHUTDOWN` or the RPC's deadline is reached. |
@ -1 +1 @@ |
||||
Subproject commit e8ae137c96444ea313485ed1118c5e43b2099cf1 |
||||
Subproject commit bba446bbf2ac7b0b9923d4eb07d5acd0665a8cf0 |
Loading…
Reference in new issue