[
https://issues.apache.org/jira/browse/HADOOP-10597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14255234#comment-14255234
]
Steve Loughran commented on HADOOP-10597:
-----------------------------------------
-sorry, browser submitted too early.
Looks OK to me, though its gone deep enough into the RPC stack I'm out of my
depth.
Minor recommendations
* tag things as audience=private as well as unstable
* {{LinearClientBackoffPolicy}} p 46-49, can we pull these inline strings out
as public constants? It keeps errors down in tests & other code setting things.
* {{NullClientBackoffPolicy}} should just extend {{Configured}} to remove
boiler plate set/get conf logic
* TestRPC.testClientBackOff(). Recommend saving any caught IOE and, if
!succeeded, rethrowing it. It'll help debugging failing tests.
One thing I will highlight is I.m not that enamoured of how the retriable
exception protobuf data is being marshalled into the string value of the
exception. Why choose this approach?
> Evaluate if we can have RPC client back off when server is under heavy load
> ---------------------------------------------------------------------------
>
> Key: HADOOP-10597
> URL: https://issues.apache.org/jira/browse/HADOOP-10597
> Project: Hadoop Common
> Issue Type: Sub-task
> Reporter: Ming Ma
> Assignee: Steve Loughran
> Attachments: HADOOP-10597-2.patch, HADOOP-10597-3.patch,
> HADOOP-10597.patch, MoreRPCClientBackoffEvaluation.pdf,
> RPCClientBackoffDesignAndEvaluation.pdf
>
>
> Currently if an application hits NN too hard, RPC requests be in blocking
> state, assuming OS connection doesn't run out. Alternatively RPC or NN can
> throw some well defined exception back to the client based on certain
> policies when it is under heavy load; client will understand such exception
> and do exponential back off, as another implementation of
> RetryInvocationHandler.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)