hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5425) Punt on the timeout doesn't work in BulkEnabler#waitUntilDone (master's EnableTableHandler)
Date Fri, 17 Feb 2012 21:00:57 GMT

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

Hudson commented on HBASE-5425:
-------------------------------

Integrated in HBase-0.92 #286 (See [https://builds.apache.org/job/HBase-0.92/286/])
    HBASE-5425 Punt on the timeout doesn't work in BulkEnabler#waitUntilDone (master's EnableTableHandler)
(Revision 1245676)

     Result = SUCCESS
stack : 
Files : 
* /hbase/branches/0.92/CHANGES.txt
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java

                
>  Punt on the timeout doesn't work in BulkEnabler#waitUntilDone (master's EnableTableHandler)
> --------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5425
>                 URL: https://issues.apache.org/jira/browse/HBASE-5425
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.90.5, 0.92.0
>            Reporter: terry zhang
>             Fix For: 0.94.0
>
>         Attachments: HBASE-5425.patch
>
>
> please take a look at the code below in EnableTableHandler(hbase master):
> {code:title=EnableTableHandler.java|borderStyle=solid}
>     protected boolean waitUntilDone(long timeout)
>     throws InterruptedException {
>     
>       .....
>       int lastNumberOfRegions = this.countOfRegionsInTable;
>       while (!server.isStopped() && remaining > 0) {
>         Thread.sleep(waitingTimeForEvents);
>         regions = assignmentManager.getRegionsOfTable(tableName);
>         if (isDone(regions)) break;
>         // Punt on the timeout as long we make progress
>         if (regions.size() > lastNumberOfRegions) {
>           lastNumberOfRegions = regions.size();
>           timeout += waitingTimeForEvents;
>         }
>         remaining = timeout - (System.currentTimeMillis() - startTime);
>     ....
>     }
>     private boolean isDone(final List<HRegionInfo> regions) {
>       return regions != null && regions.size() >= this.countOfRegionsInTable;
>     }
> {code} 
> We can easily find out if we let lastNumberOfRegions = this.countOfRegionsInTable , the
function of punt on timeout code will never be executed. I think initlize lastNumberOfRegions
= 0 can make it work.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message