Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-9772

TestBlockReplacement#testThrottler doesn't work as expected

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.7.1
    • Fix Version/s: 2.8.0, 2.7.3, 3.0.0-alpha1
    • Component/s: test
    • Labels:
    • Hadoop Flags:
      Reviewed

      Description

      In TestBlockReplacement#testThrottler, it use a fault variable to calculate the ended bandwidth. It use variable totalBytes rathe than final variable TOTAL_BYTES. And the value of TOTAL_BYTES is set to bytesToSend. The totalBytes looks no meaning here and this will make totalBytes*1000/(end-start) always be 0 and the comparison always true. The method code is below:

      @Test
        public void testThrottler() throws IOException {
          Configuration conf = new HdfsConfiguration();
          FileSystem.setDefaultUri(conf, "hdfs://localhost:0");
          long bandwidthPerSec = 1024*1024L;
          final long TOTAL_BYTES =6*bandwidthPerSec; 
          long bytesToSend = TOTAL_BYTES; 
          long start = Time.monotonicNow();
          DataTransferThrottler throttler = new DataTransferThrottler(bandwidthPerSec);
          long totalBytes = 0L;
          long bytesSent = 1024*512L; // 0.5MB
          throttler.throttle(bytesSent);
          bytesToSend -= bytesSent;
          bytesSent = 1024*768L; // 0.75MB
          throttler.throttle(bytesSent);
          bytesToSend -= bytesSent;
          try {
            Thread.sleep(1000);
          } catch (InterruptedException ignored) {}
          throttler.throttle(bytesToSend);
          long end = Time.monotonicNow();
          assertTrue(totalBytes*1000/(end-start)<=bandwidthPerSec);
        }
      

        Attachments

          Activity

            People

            • Assignee:
              linyiqun Yiqun Lin
              Reporter:
              linyiqun Yiqun Lin
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: