[ https://issues.apache.org/jira/browse/HBASE-20209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
BELUGA BEHR updated HBASE-20209: -------------------------------- Status: Open (was: Patch Available) > 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 > Assignee: BELUGA BEHR > Priority: Trivial > Attachments: HBASE-20209.1.patch, HBASE-20209.2.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)