[
https://issues.apache.org/jira/browse/HBASE-9990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13825517#comment-13825517
]
Nicolas Liochon edited comment on HBASE-9990 at 11/18/13 5:43 PM:
------------------------------------------------------------------
The issue lies in the subclass, not in RpcRetryingCallerFactory itself actually.
If I understand well the code, the factory is supposed to return a class
extending this object.
@InterfaceAudience.Private
public class RpcRetryingCaller<T> {
As the interface is private, I could pretend it should not be used and change
it.
I actually don't have a better solution...
was (Author: nkeywal):
The issue lies in the subclass, not in RpcRetryingCallerFactory itself actually.
If I understand well the code, the factory is supposed to return a class
extending this object.
@InterfaceAudience.Private
public class RpcRetryingCaller<T> {
As the interface is private, I could pretend it should be used and change it.
I actually don't have a better solution...
> RpcRetryingCallerFactory uses the conf for each "newCaller"
> -----------------------------------------------------------
>
> Key: HBASE-9990
> URL: https://issues.apache.org/jira/browse/HBASE-9990
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 0.98.0, 0.96.0
> Reporter: Nicolas Liochon
> Assignee: Nicolas Liochon
> Fix For: 0.98.0, 0.96.1
>
>
> You can construct a RpcRetryingCallerFactory, but actually the conf is read
> for each call. Reading the conf is obviously expensive, and a profiling
> session shows it. If we want to sent hundreds of thousands of queries per
> second, we should not do that.
> RpcRetryingCallerFactory.newCaller is called for each get, for example.
--
This message was sent by Atlassian JIRA
(v6.1#6144)