From 4ec08f723519123404f62089cfa1b02da1be4d89 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Mon, 23 Jul 2018 17:01:00 -0700 Subject: [PATCH 1/3] Add note on retrying RPCs Also add keepalive to list. --- doc/statuscodes.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/statuscodes.md b/doc/statuscodes.md index f2df9e00dec..9fbd58b1321 100644 --- a/doc/statuscodes.md +++ b/doc/statuscodes.md @@ -38,6 +38,7 @@ situations in which they are generated. | Error parsing response proto | INTERNAL | Client| | Error parsing request proto | INTERNAL | Server| | Sent or received message was larger than configured limit | RESOURCE_EXHAUSTED | Both | +| Keepalive watchdog times out | INTERNAL | Both | The following status codes are never generated by the library: - INVALID_ARGUMENT @@ -47,3 +48,5 @@ The following status codes are never generated by the library: - ABORTED - OUT_OF_RANGE - DATA_LOSS + +The decision to retry RPCs at the application level depends on the application and the type of error. There is no single guidance that will work for all. From bcecc177a82ff150cfe98b42778180e3cff4d21d Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 24 Jul 2018 10:54:10 -0700 Subject: [PATCH 2/3] Update statuscodes.md Change wording --- doc/statuscodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/statuscodes.md b/doc/statuscodes.md index 9fbd58b1321..2cce38295e4 100644 --- a/doc/statuscodes.md +++ b/doc/statuscodes.md @@ -49,4 +49,4 @@ The following status codes are never generated by the library: - OUT_OF_RANGE - DATA_LOSS -The decision to retry RPCs at the application level depends on the application and the type of error. There is no single guidance that will work for all. +Applications that may wish to retry failed RPCs must decide which status codes on which to retry. As shown in the table above, the gRPC library can generate the same status code for different cases. Server applications can also return those same status codes. Therefore, there is no fixed list of status codes on which it is appropriate to retry in all applications. As a result, individual applications must make their own determination as to which status codes should cause an RPC to be retried. From 600272c826b48420084c2ff76dfb0d34324ec296 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 24 Jul 2018 11:15:10 -0700 Subject: [PATCH 3/3] Update statuscodes.md Add link to retry doc --- doc/statuscodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/statuscodes.md b/doc/statuscodes.md index 2cce38295e4..06fbe5c8fe8 100644 --- a/doc/statuscodes.md +++ b/doc/statuscodes.md @@ -49,4 +49,4 @@ The following status codes are never generated by the library: - OUT_OF_RANGE - DATA_LOSS -Applications that may wish to retry failed RPCs must decide which status codes on which to retry. As shown in the table above, the gRPC library can generate the same status code for different cases. Server applications can also return those same status codes. Therefore, there is no fixed list of status codes on which it is appropriate to retry in all applications. As a result, individual applications must make their own determination as to which status codes should cause an RPC to be retried. +Applications that may wish to [retry](https://github.com/grpc/proposal/blob/master/A6-client-retries.md) failed RPCs must decide which status codes on which to retry. As shown in the table above, the gRPC library can generate the same status code for different cases. Server applications can also return those same status codes. Therefore, there is no fixed list of status codes on which it is appropriate to retry in all applications. As a result, individual applications must make their own determination as to which status codes should cause an RPC to be retried.