我正在从 java 服务进行 gRPC 调用,并使用withDeadlineAfter(1000, TimeUnit.MILLISECONDS).callApi()
在大多数情况下,此调用会超时 (DEADLINE_EXCEEDED)。当我检查日志时,它看起来如下
2019-06-14 06:30:09.153 +0000 - [DEBUG] - from io.grpc.internal.ClientCallImpl - Call timeout set to '999861860' ns, due to context deadline. Explicit call timeout was not set.
2019-06-14 06:30:09.909 +0000 - [ERROR] - from application - [ epoch=1560493809909 req=1560493808679.df7ns.10.0.3.96 ] - EVENT_MIGRATION:Failed to create channel: io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED: deadline exceeded after 999695013ns
如果我理解正确,截止日期设置为时间 06:30: 09.153之后的 1 秒09.153,这实际上意味着带有存根的调用应该在10.153之后失败。异常在此注册时间之前被抛出。
有人可以解释一下这种行为吗?