diff options
author | 2016-09-19 12:35:46 +0000 | |
---|---|---|
committer | 2016-09-19 13:03:31 +0000 | |
commit | e1949e5b803d9479907128b3438d8a8c5cf9d858 (patch) | |
tree | bd1a5826ed228ac533b7ae6a9561666641c3728c /src/main/java/com/google/devtools | |
parent | f2cdb8f9715c3a7724046b08c273eb3d0a3f4a42 (diff) |
Catch StatusRuntimeException in the Cancel() RPC.
This avoids a server crash if the client gets killed before the server responds to the cancel message.
--
MOS_MIGRATED_REVID=133574767
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java b/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java index 13837415f0..fd6f2670f2 100644 --- a/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java +++ b/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java @@ -767,8 +767,14 @@ public class GrpcServerImpl extends RPCServer { } } - streamObserver.onNext(CancelResponse.newBuilder().setCookie(responseCookie).build()); - streamObserver.onCompleted(); + try { + streamObserver.onNext(CancelResponse.newBuilder().setCookie(responseCookie).build()); + streamObserver.onCompleted(); + } catch (StatusRuntimeException e) { + // TThere is no one to report the failure to + log.info("Client cancelled RPC of cancellation request for " + + request.getCommandId()); + } } } }; |