java—flink是否以高效的方式创建频道?

vd8tlhqk  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(224)

我正在检查apache flink如何创建连接客户端的代码:https://github.com/apache/flink/blob/master/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/netty/partitionrequestclientfactory.java#l55-108年
我在想 waitForChannel() 2秒后超时的方法:https://github.com/apache/flink/blob/master/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/netty/partitionrequestclientfactory.java#l191
我不喜欢这个暂停,我想如果 error 发生或 partitionRequestClient 到达 notifyall() 就够了。
我说的对吗?或者我们要在等待2秒钟后不断尝试连接吗?

cetgtptt

cetgtptt1#

实际上,我们并没有在等待之后尝试(重新)连接,我们只是重新进入循环以检查条件,并将在出现任何问题时尽快醒来 connectLock.notifyAll() 调用被执行,也是在超时结束之前。
通常情况下,这会给你一个机会,在永远不会有这种通知的情况下,你也会做出React xTrollxDudex 在上面,我实际上没有看到任何其他地方,这里可能导致的循环。

相关问题