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

Phil Yang commented on HBASE-16505:
-----------------------------------

Hi [~enis] and [~Apache9]
{quote}
This is probably intended only for 2.0, so we can and should change the Region 
interface instead of building on top. There are no guarantees for coprocessor 
compatibility between 1.x and 2.0.
{quote}
{quote}
I think this will not be introduced in branch-1. Let's use CompletableFuture
{quote}
What I thought is that we can also port this to branch-1, so we can make 
HBASE-16492 also committed to 1.x. Only setting deadline is not a very big 
change. This is the reason why I did not use CompletableFuture. An alternative 
solution is use different interface between 1.x and 2.0, but it may introduce 
more maintenance work. What do you think for HBASE-16492 for branch-1?

{quote}
What are the plans for checking the deadline? Not every operation can throw 
timeouts in the middle. The plan is to hand code timeout checks in most places 
in get / put code ?
{quote}
I think the most suitable check points should be the blocking operations. For 
example, WAl.sync(), Lock.lock(), or others. Although some of them may do not 
support setting timeout, it is not difficult to change it. And for scan, we 
have already heartbeat logic that check deadline in each 10000 cells by 
default. Scanning indeed may timeout on non-blocking methods. But other 
operations in Region I think the most common check points are blocking methods.

> Add AsyncRegion interface to pass deadline and support async operations
> -----------------------------------------------------------------------
>
>                 Key: HBASE-16505
>                 URL: https://issues.apache.org/jira/browse/HBASE-16505
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Phil Yang
>            Assignee: Phil Yang
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16505-v1.patch, HBASE-16505-v10.patch, 
> HBASE-16505-v10.patch, HBASE-16505-v2.patch, HBASE-16505-v3.patch, 
> HBASE-16505-v4.patch, HBASE-16505-v5.patch, HBASE-16505-v6.patch, 
> HBASE-16505-v7.patch, HBASE-16505-v8.patch, HBASE-16505-v9.patch
>
>
> If we want to know the correct setting of timeout in read/write path, we need 
> add a new parameter in operation-methods of Region.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to