You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Colin Patrick McCabe (JIRA)" <ji...@apache.org> on 2012/06/01 03:03:23 UTC

[jira] [Created] (HDFS-3488) BlockPoolSliceScanner#getNewBlockScanTime does not handle numbers > 31 bits properly

Colin Patrick McCabe created HDFS-3488:
------------------------------------------

             Summary: BlockPoolSliceScanner#getNewBlockScanTime does not handle numbers > 31 bits properly
                 Key: HDFS-3488
                 URL: https://issues.apache.org/jira/browse/HDFS-3488
             Project: Hadoop HDFS
          Issue Type: Bug
            Reporter: Colin Patrick McCabe
            Assignee: Colin Patrick McCabe
            Priority: Minor


This code does not handle the case where period > 2**31 properly:

{code}
    long period = Math.min(scanPeriod, 
                           Math.max(blockMap.size(),1) * 600 * 1000L);
    int periodInt = Math.abs((int)period);
    return System.currentTimeMillis() - scanPeriod + 
        DFSUtil.getRandom().nextInt(periodInt);
{code}

So, for example, if period = 0x100000000, we'll map that to 0, and so forth.

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