From 40a75213e4914a601743830fd98991214206f0bd Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 2 Oct 2018 14:38:00 -0700 Subject: [PATCH 1/4] Keepalive should return unavailable instead of internal status --- .../ext/transport/chttp2/transport/chttp2_transport.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc index 776c15138b8..dc79cee0456 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc @@ -2757,10 +2757,10 @@ static void keepalive_watchdog_fired_locked(void* arg, grpc_error* error) { if (error == GRPC_ERROR_NONE) { t->keepalive_state = GRPC_CHTTP2_KEEPALIVE_STATE_DYING; close_transport_locked( - t, - grpc_error_set_int(GRPC_ERROR_CREATE_FROM_STATIC_STRING( - "keepalive watchdog timeout"), - GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_INTERNAL)); + t, grpc_error_set_int(GRPC_ERROR_CREATE_FROM_STATIC_STRING( + "keepalive watchdog timeout"), + GRPC_ERROR_INT_GRPC_STATUS, + GRPC_STATUS_UNAVAILABLE)); } } else { /* The watchdog timer should have been cancelled by From bb872692b7c0acb6263842f6e6e9549f5642aa09 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Tue, 2 Oct 2018 14:41:20 -0700 Subject: [PATCH 2/4] Make changes to doc --- doc/statuscodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/statuscodes.md b/doc/statuscodes.md index 06fbe5c8fe8..547da054951 100644 --- a/doc/statuscodes.md +++ b/doc/statuscodes.md @@ -38,7 +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 | +| Keepalive watchdog times out | UNAVAILABLE | Both | The following status codes are never generated by the library: - INVALID_ARGUMENT From 00be69755160399756152eed8f1fbbcba8ec115a Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Wed, 3 Oct 2018 09:29:15 -0700 Subject: [PATCH 3/4] Test changes --- test/core/end2end/tests/keepalive_timeout.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/core/end2end/tests/keepalive_timeout.cc b/test/core/end2end/tests/keepalive_timeout.cc index 1ee5285027e..5f6a36dac44 100644 --- a/test/core/end2end/tests/keepalive_timeout.cc +++ b/test/core/end2end/tests/keepalive_timeout.cc @@ -195,7 +195,7 @@ static void test_keepalive_timeout(grpc_end2end_test_config config) { char* details_str = grpc_slice_to_c_string(details); char* method_str = grpc_slice_to_c_string(call_details.method); - GPR_ASSERT(status == GRPC_STATUS_INTERNAL); + GPR_ASSERT(status == GRPC_STATUS_UNAVAILABLE); GPR_ASSERT(0 == grpc_slice_str_cmp(details, "keepalive watchdog timeout")); GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo")); From f17efc8860a22fe8c1041494aafb97573177ef7c Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 5 Oct 2018 11:27:16 -0700 Subject: [PATCH 4/4] Update status in objc interop tests --- src/objective-c/tests/InteropTests.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/objective-c/tests/InteropTests.m b/src/objective-c/tests/InteropTests.m index 5750dccd894..9d796068818 100644 --- a/src/objective-c/tests/InteropTests.m +++ b/src/objective-c/tests/InteropTests.m @@ -545,7 +545,7 @@ BOOL isRemoteInteropTest(NSString *host) { } else { // Keepalive should kick after 1s elapsed and fails the call. XCTAssertNotNil(error); - XCTAssertEqual(error.code, GRPC_STATUS_INTERNAL); + XCTAssertEqual(error.code, GRPC_STATUS_UNAVAILABLE); XCTAssertEqualObjects( error.localizedDescription, @"keepalive watchdog timeout", @"Unexpected failure that is not keepalive watchdog timeout.");