[
https://issues.apache.org/jira/browse/HDFS-13155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zsolt Venczel updated HDFS-13155:
---------------------------------
Attachment: HDFS-13155.02.patch
> BlockPlacementPolicyDefault.chooseTargetInOrder Not Checking Return Value for
> NULL
> ----------------------------------------------------------------------------------
>
> Key: HDFS-13155
> URL: https://issues.apache.org/jira/browse/HDFS-13155
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: namenode
> Affects Versions: 3.0.0
> Reporter: BELUGA BEHR
> Assignee: Zsolt Venczel
> Priority: Minor
> Attachments: HDFS-13155.01.patch, HDFS-13155.02.patch
>
>
> {code:title=BlockPlacementPolicyDefault.java}
> protected Node chooseTargetInOrder(int numOfReplicas,
> Node writer,
> final Set<Node> excludedNodes,
> final long blocksize,
> final int maxNodesPerRack,
> final List<DatanodeStorageInfo> results,
> final boolean avoidStaleNodes,
> final boolean newBlock,
> EnumMap<StorageType, Integer> storageTypes)
> throws NotEnoughReplicasException {
> final int numOfResults = results.size();
> if (numOfResults == 0) {
> writer = chooseLocalStorage(writer, excludedNodes, blocksize,
> maxNodesPerRack, results, avoidStaleNodes, storageTypes, true)
> .getDatanodeDescriptor();
> if (--numOfReplicas == 0) {
> return writer;
> }
> }
> ...
> {code}
> The method {{chooseLocalStorage}} can return a _null_ value but it's not
> being checked here and the method {{getDatanodeDescriptor()}} is immediately
> being called on the result. Please check for a _null_ value first.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]