BELUGA BEHR created HBASE-20209:
-----------------------------------
Summary: Do Not Use Both Map containsKey and get Methods
Key: HBASE-20209
URL: https://issues.apache.org/jira/browse/HBASE-20209
Project: HBase
Issue Type: Improvement
Components: hbase
Affects Versions: 2.0.0
Reporter: BELUGA BEHR
Attachments: HBASE-20209.1.patch
{code:title=ReplicationSink.java}
String tableName = table.getNameWithNamespaceInclAsString();
if (bulkLoadHFileMap.containsKey(tableName)) {
List<Pair<byte[], List<String>>> familyHFilePathsList =
bulkLoadHFileMap.get(tableName);
boolean foundFamily = false;
for (int i = 0; i < familyHFilePathsList.size(); i++) {
Pair<byte[], List<String>> familyHFilePathsPair =
familyHFilePathsList.get(i);
if (Bytes.equals(familyHFilePathsPair.getFirst(), family)) {
// Found family already present, just add the path to the
existing list
familyHFilePathsPair.getSecond().add(pathToHfileFromNS);
foundFamily = true;
break;
}
}
{code}
I propose that this code does not use the Map methods _containsKey_ *and*
_get_. Simply use the _get_ method once and check a _null_ return value to
check for existence. Saves a trip to the Map data structure for each call.
Also, use enhanced for loop.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)