FSNamesystem.gotHeartbeat(..., Object[] xferResults, Object[] deleteList)
should not use Object[] as pass-by-reference parameters
---------------------------------------------------------------------------------------------------------------------------------
Key: HADOOP-3254
URL: https://issues.apache.org/jira/browse/HADOOP-3254
Project: Hadoop Core
Issue Type: Improvement
Components: dfs
Reporter: Tsz Wo (Nicholas), SZE
Assignee: Tsz Wo (Nicholas), SZE
In FSNamesystem.gotHeartbeat(..., Object[] xferResults, Object[] deleteList),
xferResults initially equals to Object[] { null, null}. If there are blocks to
be replicated, xferResults[0] and xferResults[1] will be set to a Block[] and
DatanodeInfo[][], respectively. The caller of gotHeartbeat will cast these
object to the original classes. For example, in NameNode.sendHeartbeat(...),
{code}
if (xferResults[0] != null) {
assert(deleteList[0] == null);
return new BlockCommand((Block[]) xferResults[0], (DatanodeInfo[][])
xferResults[1]);
}
{code}
The use of deleteList is similar.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.