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

Nicolas Liochon commented on HBASE-10356:
-----------------------------------------

[~sershe] I'm working on merging this with HBASE-10355. It includes using 
microseconds everywhere, so I have to modify this patch (on the other hand I'm 
not sure we should not have a different setting for multiget & for simple get, 
but it's another story).

I noticed a bug in the branch 10070, in AsyncProcess
{code}
    private boolean waitUntilDone(long cutoff) throws InterruptedException {
      boolean hasWait = cutoff != Long.MAX_VALUE;
      long lastLog = hasWait ? 0 : EnvironmentEdgeManager.currentTimeMillis();
      long currentInProgress;
      while (0 != (currentInProgress = actionsInProgress.get())) {
        long now = 0;
        if (hasWait && (now = EnvironmentEdgeManager.currentTimeMillis()) > 
cutoff) {
          return false;
        }
        if (!hasWait) {    <======================================= too wide
          // Only log if wait is infinite.
          now = EnvironmentEdgeManager.currentTimeMillis();
          if (now > lastLog + 10000) {
            lastLog = now;
            LOG.info("#" + id + ", waiting for " + currentInProgress + "  
actions to finish");
          }
          synchronized (actionsInProgress) { 
            actionsInProgress.wait(Math.min(100, hasWait ? (cutoff - now) : 
Long.MAX_VALUE));   <=========  hasWait is always false here
          }
        }
      }
      return true;
    }
{code}

Is the branch up to date?

> Failover RPC's for multi-get 
> -----------------------------
>
>                 Key: HBASE-10356
>                 URL: https://issues.apache.org/jira/browse/HBASE-10356
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>            Reporter: Enis Soztutar
>            Assignee: Sergey Shelukhin
>             Fix For: hbase-10070
>
>         Attachments: HBASE-10356.01.patch, HBASE-10356.01.patch, 
> HBASE-10356.02.patch, HBASE-10356.patch, HBASE-10356.reference.patch, 
> HBASE-10356.reference.patch
>
>
> This is extension of HBASE-10355 to add failover support for multi-gets. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to