aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2016-09-19 12:35:46 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2016-09-19 13:03:31 +0000
commite1949e5b803d9479907128b3438d8a8c5cf9d858 (patch)
treebd1a5826ed228ac533b7ae6a9561666641c3728c /src/main/java/com/google/devtools
parentf2cdb8f9715c3a7724046b08c273eb3d0a3f4a42 (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.java10
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());
+ }
}
}
};