You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "David Mollitor (Jira)" <ji...@apache.org> on 2019/08/29 20:46:00 UTC
[jira] [Created] (HDFS-14799) Do Not Call Map containsKey In
Conjunction with get
David Mollitor created HDFS-14799:
-------------------------------------
Summary: Do Not Call Map containsKey In Conjunction with get
Key: HDFS-14799
URL: https://issues.apache.org/jira/browse/HDFS-14799
Project: Hadoop HDFS
Issue Type: Improvement
Components: namenode
Affects Versions: 3.2.0
Reporter: David Mollitor
{code:java|title=InvalidateBlocks.java}
private final Map<DatanodeInfo, LightWeightHashSet<Block>>
nodeToBlocks = new HashMap<>();
private final Map<DatanodeInfo, LightWeightHashSet<Block>>
nodeToECBlocks = new HashMap<>();
...
private LightWeightHashSet<Block> getBlocksSet(final DatanodeInfo dn) {
if (nodeToBlocks.containsKey(dn)) {
return nodeToBlocks.get(dn);
}
return null;
}
private LightWeightHashSet<Block> getECBlocksSet(final DatanodeInfo dn) {
if (nodeToECBlocks.containsKey(dn)) {
return nodeToECBlocks.get(dn);
}
return null;
}
{code}
There is no need to check for {{containsKey}} here since a call to {{get}} will already return 'null' if the key is not there. This just adds overhead of having to dive into the Map twice to get the value.
{code}
private LightWeightHashSet<Block> getECBlocksSet(final DatanodeInfo dn) {
return nodeToECBlocks.get(dn);
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.2#803003)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org