[
https://issues.apache.org/jira/browse/HBASE-16833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15730752#comment-15730752
]
Duo Zhang commented on HBASE-16833:
-----------------------------------
{quote}
We should consider the reload parameter?
{quote}
For the async table implementation, there is no reload at all. We will clear
meta cache when error which means we will reload the location at next try. The
interface here is marked as unstable so I haven't spent much time to design it.
And I think the word 'reload' expose too many implementation details to the
upper layer. Maybe we should name the parameter 'skipCache'. Then it is free
for us to update the cache or not.
{quote}
And for region caching, if we need to reload the region info from meta, we may
have some concurrent requests for same table even same region. We could let the
first one send the RPC request and the others wait the result?
{quote}
Yes we should do this. The problem will become worse after we introduce multi
get in async table as we will get lots of locations at the same time. I plan to
file a issue after I have an initial patch for multi get(HBASE-17142).
{quote}
I think for sync client we also have this issue, may be we should add it also
in sync client and make it configurable?
{quote}
For 2.0 I plan to implement the old blocking table on the new async table, so
most code of the old blocking table will just be dropped in the future. And for
this issue, you can see RpcRetryingCallerImpl.singleCallDuration, where we also
add a small delta when sleeping. And for the blocking table implementation, we
can not limit the total time of locating a region as we do not pass any timeout
parameters to the prepare method of a RetryingCallable. I think you can open a
new issue to address this problem as async table is not likely to be backported
to branch-1.
Thanks.
> Implement asynchronous hbase client based on HBASE-15921
> --------------------------------------------------------
>
> Key: HBASE-16833
> URL: https://issues.apache.org/jira/browse/HBASE-16833
> Project: HBase
> Issue Type: Umbrella
> Components: Client
> Affects Versions: 2.0.0
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Labels: asynchronous
> Fix For: 2.0.0
>
>
> In HBASE-15921 we have introduced a simple AsyncTable only supports get, put
> and delete. This issue aims to implement a complete async hbase client based
> on it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)