[ https://issues.apache.org/jira/browse/HDFS-5828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13887509#comment-13887509 ]
Junping Du commented on HDFS-5828: ---------------------------------- Thanks for nice catch, Buddy! Patch looks good to me overall, only a tiny thing for change on test file: {code} CONF.setBoolean(DFS_NAMENODE_AVOID_STALE_DATANODE_FOR_WRITE_KEY, true); {code} Would you replace it to something below, so we can remove the unnecessary import as keeping consistent with other places? {code} CONF.setBoolean(DFSConfigKeys.DFS_NAMENODE_AVOID_STALE_DATANODE_FOR_WRITE_KEY, true); {code} Will +1 once this is addressed. > BlockPlacementPolicyWithNodeGroup can place multiple replicas on the same > node group when dfs.namenode.avoid.write.stale.datanode is true > ----------------------------------------------------------------------------------------------------------------------------------------- > > Key: HDFS-5828 > URL: https://issues.apache.org/jira/browse/HDFS-5828 > Project: Hadoop HDFS > Issue Type: Bug > Components: namenode > Affects Versions: 2.3.0 > Reporter: Buddy > Attachments: HDFS-5828.patch > > > When placing replicas using the replica placement policy > BlockPlacementPolicyWithNodeGroup, the number of targets returned should be > less than or equal to the number of node groups and no node group should get > two replicas of the same block. The Junit test > TestReplicationPolicyWithNodeGroup.testChooseMoreTargetsThanNodeGroups > verifies this. > However, if the conf property "dfs.namenode.avoid.write.stale.datanode" is > set to true, then block placement policy will return more targets than node > groups when the number of replicas requested exceeds the number of node > groups. > This can be seen by putting: > CONF.setBoolean(DFS_NAMENODE_AVOID_STALE_DATANODE_FOR_WRITE_KEY, true); > in the setup method for TestReplicationPolicyWithNodeGroup. This will cause > testChooseMoreTargetsThanNodeGroups to fail. -- This message was sent by Atlassian JIRA (v6.1.5#6160)