hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18906) Investigate Phoenix usages of Region#waitForXXX APIs
Date Tue, 17 Oct 2017 16:17:02 GMT

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

Anoop Sam John commented on HBASE-18906:
----------------------------------------

Checking the Phoenix master branch I could not see usage of these waitFor APIs.  Though it
is having a wait logic.  Checks the regions size and if the region size > N * region flush
size (where N = blocking MemStore size multiplier - 1) the code follows a wait..  It basically
doing a wait for the flush to happen. (The flush would have initiated when size was more than
flush size)
{code}
for (int i = 0; region.getMemstoreSize() > blockingMemstoreSize && i < 30; i++)
{
          try {
              checkForRegionClosing();
              Thread.sleep(100);
          } catch (InterruptedException e) {
              Thread.currentThread().interrupt();
              throw new IOException(e);
          }
      }
{code}
May be we should give a notify to CPs when flush on region is over?  They should be able to
register listeners.  These kind of sleeps can be avoided then.  Just random thoughts.  

> Investigate Phoenix usages of Region#waitForXXX APIs
> ----------------------------------------------------
>
>                 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
>
>
> 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)

Mime
View raw message