[
https://issues.apache.org/jira/browse/HDFS-9756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lin Yiqun updated HDFS-9756:
----------------------------
Attachment: HDFS-9756.001.patch
> Hard-Code value in DataTransferThrottler
> ----------------------------------------
>
> Key: HDFS-9756
> URL: https://issues.apache.org/jira/browse/HDFS-9756
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 2.7.1
> Reporter: Lin Yiqun
> Assignee: Lin Yiqun
> Attachments: HDFS-9756.001.patch
>
>
> In DataTransferThrottler, the period time is hard-code for 500 ms. Even
> though it has other construction method,
> {code}
> /**
> * Constructor
> * @param period in milliseconds. Bandwidth is enforced over this
> * period.
> * @param bandwidthPerSec bandwidth allowed in bytes per second.
> */
> public DataTransferThrottler(long period, long bandwidthPerSec) {
> this.curPeriodStart = monotonicNow();
> this.period = period;
> this.curReserve = this.bytesPerPeriod = bandwidthPerSec*period/1000;
> this.periodExtension = period*3;
> }
> {code}
> but it was only invoked by this method
> {code}
> public DataTransferThrottler(long bandwidthPerSec) {
> this(500, bandwidthPerSec); // by default throttling period is 500ms
> }
> {code}
> So the period is a hard-code. This value can also influence the
> data-transfering. If period time value set small, the number of times to
> waitting for next period will be increased and the total waitting-time also
> be increased. So the average bandwidth will be decreased.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)