[
https://issues.apache.org/jira/browse/HDFS-10441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15396472#comment-15396472
]
James Clampffer commented on HDFS-10441:
----------------------------------------
Thanks for looking at this more Bob.
bq. Should HandleRpcResponse return a value or just forward-propagate to
CommsError? In the implementation, we alternately do one, the other, or both.
Probably best write functions as plain procedural code that return values
wherever possible IMO. That way the async work and associated complexity are
clustered in the same areas rather than distributed across the code. It might
be worth splitting off a seperate jira to refactor and document the RPC stuff;
the current mix of state machine(s) and continuations was a little tricky to
reverse engineer for adding this feature. As you pointed out I'm doing both
returns and forwarding here. The current code is fairly well tested/used and
I'd really like to get a CI test around this before changing it too much more.
Think that's worth a seperate jira?
bq. RpcConnectionImpl::ConnectAndFlush logs entry at the INFO level. I think we
already log once when we're attempting to connect, do we not? If this is the
only place we keep it, we should include the endpoint we're connecting to in
the log message.
Yea, RpcConnectionImpl::ConnectAndFlush and RpcConnectionImpl::Connect are both
logging effectively the same thing at the moment. Logging both helps a little
bit to reason about the indirect recursion via async callbacks going on in that
code. I think it'd be best to wait until the connection callback to log the
endpoint in case there are multiple endpoints, but that starts getting a bit
out of scope for this. My general strategy is to follow "perfect is the enemy
of good" when it comes to this sort of stuff, particularly early in the
lifetime of a feature.
> libhdfs++: HA namenode support
> ------------------------------
>
> Key: HDFS-10441
> URL: https://issues.apache.org/jira/browse/HDFS-10441
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: hdfs-client
> Reporter: James Clampffer
> Assignee: James Clampffer
> Attachments: HDFS-10441.HDFS-8707.000.patch,
> HDFS-10441.HDFS-8707.002.patch, HDFS-10441.HDFS-8707.003.patch,
> HDFS-10441.HDFS-8707.004.patch, HDFS-10441.HDFS-8707.005.patch,
> HDFS-10441.HDFS-8707.006.patch, HDFS-10441.HDFS-8707.007.patch,
> HDFS-10441.HDFS-8707.008.patch, HDFS-10441.HDFS-8707.009.patch,
> HDFS-10441.HDFS-8707.010.patch, HDFS-10441.HDFS-8707.011.patch,
> HDFS-10441.HDFS-8707.012.patch, HDFS-10441.HDFS-8707.013.patch,
> HDFS-10441.HDFS-8707.014.patch, HDFS-8707.HDFS-10441.001.patch
>
>
> If a cluster is HA enabled then do proper failover.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]