[ 
https://issues.apache.org/jira/browse/HADOOP-10597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14201000#comment-14201000
 ] 

Chris Li commented on HADOOP-10597:
-----------------------------------

Cool. I think this is a good feature to have.

One small question about the code:
+        LOG.warn("Element " + e + " was queued properly." +
+                "But client is asked to retry.");

>From my brief study of the code, it seems like isCallQueued is passed pretty 
>deep in order to maintain some sort of reference count on how many pending 
>requests each handler has waiting client-side to retry. Does this count always 
>balance to zero? What if a client makes a request, is denied, and then 
>terminates before it can make a request that successfully queues?

Also, what conditions will the element be queued correctly but the client gets 
a retry?

Also kind of a small thing but instead of recentBackOffCount.set(oldValue) it 
would be more clear to create a new variable newValue and 
recentBackOffCount.set(newValue) instead of mutating oldValue, or perhaps just 
rename the oldValue variable to something which doesn't imply immutability

> 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: Ming Ma
>         Attachments: HADOOP-10597-2.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)

Reply via email to