[ 
https://issues.apache.org/jira/browse/FLINK-23030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jin Xing updated FLINK-23030:
-----------------------------
    Description: 
In current _PartitionRequestClientFactory#createPartitionRequestClient_, 
_ChannelFuture#await()_ is invoked, thus to build a connection to remote 
synchronously.

But with the doc of _io.netty.util.concurrent.Future_ [1] and its 
implementation _io.netty.channel.DefaultChannelPromise_ [2], 
_ChannelFuture#await()_ never throws when completed with failure. I guess what 
Flink needs is _ChannelFuture#sync()._

[1]  [https://netty.io/4.1/api/io/netty/util/concurrent/class-use/Future.html]

[2] 
[https://github.com/netty/netty/blob/4.1/transport/src/main/java/io/netty/channel/DefaultChannelPromise.java]

      
https://github.com/netty/netty/blob/4.1/common/src/main/java/io/netty/util/concurrent/DefaultPromise.java

  was:
In current _PartitionRequestClientFactory#createPartitionRequestClient_, 
_ChannelFuture#await()_ is invoked, thus to build a connection to remote 
synchronously.

But with the doc of _io.netty.util.concurrent.Future_ [1] and its 
implementation _io.netty.channel.DefaultChannelPromise_ [2], 
_ChannelFuture#await()_ never throws when completed with failure. I guess what 
Flink needs is _ChannelFuture#sync()._

[1]  [https://netty.io/4.1/api/io/netty/util/concurrent/class-use/Future.html]

[2] 
[https://github.com/netty/netty/blob/4.1/transport/src/main/java/io/netty/channel/DefaultChannelPromise.java]


> PartitionRequestClientFactory#createPartitionRequestClient should throw when 
> network failure
> --------------------------------------------------------------------------------------------
>
>                 Key: FLINK-23030
>                 URL: https://issues.apache.org/jira/browse/FLINK-23030
>             Project: Flink
>          Issue Type: Bug
>          Components: Runtime / Network
>            Reporter: Jin Xing
>            Priority: Blocker
>
> In current _PartitionRequestClientFactory#createPartitionRequestClient_, 
> _ChannelFuture#await()_ is invoked, thus to build a connection to remote 
> synchronously.
> But with the doc of _io.netty.util.concurrent.Future_ [1] and its 
> implementation _io.netty.channel.DefaultChannelPromise_ [2], 
> _ChannelFuture#await()_ never throws when completed with failure. I guess 
> what Flink needs is _ChannelFuture#sync()._
> [1]  [https://netty.io/4.1/api/io/netty/util/concurrent/class-use/Future.html]
> [2] 
> [https://github.com/netty/netty/blob/4.1/transport/src/main/java/io/netty/channel/DefaultChannelPromise.java]
>       
> https://github.com/netty/netty/blob/4.1/common/src/main/java/io/netty/util/concurrent/DefaultPromise.java



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to