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

Mike Drob commented on HBASE-18906:
-----------------------------------

bq. No.. it wont throw InterruptedException. It is not an interruption case. I 
was trying to follow same way as that of Object.wait(timeout). 
Confused here... 
[Object.wait(long)|https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-]
 definitely throws InterruptedEx... Not if timeout exceeded, but if the thread 
is interrupted it needs to stop waiting, not swallow the exception.

Oh, are you saying that when we get a notify while waiting, we can't tell if it 
is an interrupt or if the action completed? That seems bad.

> Provide Region#waitForFlushes API
> ---------------------------------
>
>                 Key: HBASE-18906
>                 URL: https://issues.apache.org/jira/browse/HBASE-18906
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Coprocessors
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 2.0.0-alpha-4
>
>         Attachments: HBASE-18906.patch
>
>
> Expose an API for the CPs to wait for all on going flushes in a Region. The 
> API should support taking a time out.
> Background
> While reviewing HBASE-18183, Andy pointed out that Phoenix uses 
> waitForFlushesAndCompactions and/or waitForFlushes for diff reasons.  This 
> issue is to see why they need them and whether alternate ways are possible. 
> This seems to be too much internal stuff and a normal CP hook calling these 
> would be dangerous.
> If there are alternate ways for Phoenix not to use this and not landing in 
> issues (As said by Andy) we should suggest/fix for them.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to