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