The Approach A looks good to me.

Thanks,
Akira

On Thu, Apr 11, 2019 at 2:30 PM Xiaoqiao He <xq.he2...@gmail.com> wrote:
>
> Hi forks,
>
> The current implementation of RBF is not sensitive about data locality,
> since NameNode could not get real client hostname by invoke
> Server#getRemoteAddress when RPC request forward by Router to NameNode.
> Therefore, it will lead to several challenges, for instance,
>
>    - a. Client could have to go for remote read instead of local read,
>    Short-Circuit could not be used in most cases.
>    - b. Block placement policy could not run as except based on defined
>    rack aware. Thus it will loss local node write.
>
> There are some different solutions to solve data locality issue after
> discussion, some of them will change RPC protocol, so we look forward to
> furthermore suggestions and votes. HDFS-13248 is tracking the issue.
>
>    - Approach A: Changing IPC/RPC layer protocol (IpcConnectionContextProto
>    or RpcHeader#RpcRequestHeaderProto) and add extra field about client
>    hostname. Of course the new field is optional, only input by Router and
>    parse by Namenode in generally. This approach is compatibility and Client
>    should do nothing after changing.
>    - Approach B: Changing ClientProtocol and add extra interface
>    create/append/getBlockLocations with additional parameter about client
>    hostname. As approach A, it is input by Router and parse by Namenode, and
>    also is compatibility.
>    - Approach C: Solve write and read locality separately based on current
>    interface and no changes, for write, hack client hostname as one of favor
>    nodes for addBlocks, for read, reorder targets at Router after Namenode
>    returns result to Router.
>
> As discussion and evaluation in HDFS-13248, we prefer to change IPC/RPC
> layer protocol to support RPC data locality. We welcome more suggestions,
> votes or just give us feedback to push forward this feature. Thanks.
>
> Best Regards,
> Hexiaoqiao
>
> reference
> [1] https://issues.apache.org/jira/browse/HDFS-13248
> [2] https://issues.apache.org/jira/browse/HDFS-10467
>
> [3] https://issues.apache.org/jira/browse/HDFS-12615

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org

Reply via email to