diff --git a/grpc/src/ugrpc/server/middlewares/deadline_propagation/middleware.cpp b/grpc/src/ugrpc/server/middlewares/deadline_propagation/middleware.cpp index 505d40fe358c..23a16b545bfb 100644 --- a/grpc/src/ugrpc/server/middlewares/deadline_propagation/middleware.cpp +++ b/grpc/src/ugrpc/server/middlewares/deadline_propagation/middleware.cpp @@ -15,6 +15,12 @@ namespace { std::optional TryExtractDeadline( std::chrono::system_clock::time_point time) { + // In some versions of gRPC, absence of deadline represented as negative + // time_point + if (time.time_since_epoch().count() < 0) { + return std::nullopt; + } + const auto duration = time - std::chrono::system_clock::now(); if (duration >= std::chrono::hours{365 * 24}) { return std::nullopt;