You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "BELUGA BEHR (JIRA)" <ji...@apache.org> on 2018/10/09 14:26:00 UTC
[jira] [Created] (HDFS-13978) Review of DiskBalancer
BELUGA BEHR created HDFS-13978:
----------------------------------
Summary: Review of DiskBalancer
Key: HDFS-13978
URL: https://issues.apache.org/jira/browse/HDFS-13978
Project: Hadoop HDFS
Issue Type: Improvement
Components: datanode, hdfs
Affects Versions: 3.2.0
Environment: * Use ArrayList instead of LinkedList. Especially because this code here uses the {{List#get()}} method, which is very slow for the LinkedList since it has to traverse every node to get to the offset: O(N^2)
{code}
ExtendedBlock getNextBlock(List<FsVolumeSpi.BlockIterator> poolIters,
DiskBalancerWorkItem item) {
Preconditions.checkNotNull(poolIters);
int currentCount = 0;
ExtendedBlock block = null;
while (block == null && currentCount < poolIters.size()) {
currentCount++;
int index = poolIndex++ % poolIters.size();
FsVolumeSpi.BlockIterator currentPoolIter = poolIters.get(index);
block = getBlockToCopy(currentPoolIter, item);
}
{code}
* Do not "log and throw" errors. This is an anti-pattern and should be avoided. Log or throw, but don't do both. Removed some logging
* Improved other logging statements
* Improved the {{hashcode}} method of one of the inner classes. It was instantiating a List and performing iteration for every call. Replace with Eclipse-generated hashcode method.
* Fixed compiler warnings for deprecated code or code that was not parameterized
* Fix check style issue
Reporter: BELUGA BEHR
Attachments: HDFS-13978.1.patch
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org