diff --git a/src/cpp/server/server.cc b/src/cpp/server/server.cc index b7128da8c4fc3bffd13bfab3bcc951d5dc383212..93384516302a070c804c30e8bd8a7fe0a53c719f 100644 --- a/src/cpp/server/server.cc +++ b/src/cpp/server/server.cc @@ -127,7 +127,9 @@ class Server::SyncRequest GRPC_FINAL : public CompletionQueueTag { GRPC_TIMER_BEGIN(GRPC_PTAG_PROTO_DESERIALIZE, call_.call()); req.reset(method_->AllocateRequestProto()); if (!DeserializeProto(request_payload_, req.get(), call_.max_message_size())) { - abort(); // for now + // FIXME(yangg) deal with deserialization failure + cq_.Shutdown(); + return; } GRPC_TIMER_END(GRPC_PTAG_PROTO_DESERIALIZE, call_.call()); }