[
https://issues.apache.org/jira/browse/HDFS-10433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15308630#comment-15308630
]
Jing Zhao commented on HDFS-10433:
----------------------------------
Thanks for updating the patch, [~szetszwo]! The latest patch looks good to me
overall. Two questions:
# The interval between two retries is realized by {{Thread.sleep}}, which makes
the background thread in {{AsyncCallHandler}} sleep. Because all the client
side {{Future.get}} calls need to wait until the background thread for the
final result, this sleep may delay all the pending requests.
# The current background thread does a sleep inside of the loop, which may
delay all the RPC requests. Ideally we want this thread to wait for response
notification from RPC client.
# Minor: {{Counters}} can be created inside of the Call's constructor method
instead of being passed as a parameter.
Looks like #1 and #2 need some extra work. Considering the current patch is
already complicated, we can address them in a separate jira. I will give +1 for
committing the current patch first.
> Make retry also works well for Async DFS
> ----------------------------------------
>
> Key: HDFS-10433
> URL: https://issues.apache.org/jira/browse/HDFS-10433
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: hdfs
> Reporter: Xiaobing Zhou
> Assignee: Tsz Wo Nicholas Sze
> Attachments: h10433_20160524.patch, h10433_20160525.patch,
> h10433_20160525b.patch, h10433_20160527.patch, h10433_20160528.patch,
> h10433_20160528c.patch
>
>
> In current Async DFS implementation, file system calls are invoked and
> returns Future<?> immediately to clients. Clients call Future#get to retrieve
> final results. Future#get internally invokes a chain of callbacks residing in
> ClientNamenodeProtocolTranslatorPB, ProtobufRpcEngine and ipc.Client. The
> callback path bypasses the original retry layer/logic designed for
> synchronous DFS. This proposes refactoring to make retry also works for Async
> DFS.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]