[
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)