[ https://issues.apache.org/jira/browse/HDFS-9228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bob Hansen updated HDFS-9228: ----------------------------- Attachment: HDFS-9228.HDFS-8707.004.patch [~James Clampffer]: Thanks for the feedback. bq. It looks like RpcConnection::shared_from_this is called frequently but I wasn't able to find a make_shared<RpcConnection> though maybe I just missed it. It wass passed into shared_ptr.reset each time, but I changed the interface to enforce that. Good catch. bq. In rpc_connection.h there are several instances of a lambda capturing 'this' and a shared_ptr to 'this'. Is the shared_ptr there to keep things alive and this captured to call methods without using shared_this->method? It's a good question. I didn't have a good place to document it. The shared_this is to maintain the lifecycle, and the independent this is to establish access. That code was failing because we were trying to call protected/private members from an external lambda; pushing in this allows private access. bq. Factoring Request out of RpcConnection looks good but I'd like to have a short comments for each class that says what their responsibilities are. Added comments along with threading models and code to enforce the threading models. The code is a safer place for it. bq. Perhaps change Callback as typedefed in rpc_engine.h to "RpcCallback" or similar. Good call. Fixed. [~wheat9]: I added an abstract base class and an implementation that encapsulates the policies (no retry and fixed dealy for now). It's a clone of the Java interface, so I assume it will have the expressiveness that we need. Please let me know what you think. > libhdfs++ should respect NN retry configuration settings > -------------------------------------------------------- > > Key: HDFS-9228 > URL: https://issues.apache.org/jira/browse/HDFS-9228 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: hdfs-client > Reporter: Bob Hansen > Assignee: Bob Hansen > Attachments: HDFS-9228.HDFS-8707.001.patch, > HDFS-9228.HDFS-8707.002.patch, HDFS-9228.HDFS-8707.003.patch, > HDFS-9228.HDFS-8707.004.patch > > > Handle the use case of temporary network or NN hiccups and have a > configurable number of retries for NN operations. -- This message was sent by Atlassian JIRA (v6.3.4#6332)