huaxiang sun created HBASE-17243: ------------------------------------ Summary: Reuse CompactionPartitionId and avoid creating MobFileName in PartitionedMobCompactor to avoid unnecessary new objects Key: HBASE-17243 URL: https://issues.apache.org/jira/browse/HBASE-17243 Project: HBase Issue Type: Improvement Components: mob Affects Versions: 2.0.0 Reporter: huaxiang sun Assignee: huaxiang sun Priority: Minor
In today's select() implementation, when it is an existing id, the new allocated object is discarded. It should be reused. fileName is created to getStartKey and getDate(), utility APIs can be created to directly get these fields from the string. {code} } else if (allFiles || linkedFile.getLen() < mergeableSize) { // add all files if allFiles is true, // otherwise add the small files to the merge pool MobFileName fileName = MobFileName.create(linkedFile.getPath().getName()); CompactionPartitionId id = new CompactionPartitionId(fileName.getStartKey(), fileName.getDate()); CompactionPartition compactionPartition = filesToCompact.get(id); if (compactionPartition == null) { compactionPartition = new CompactionPartition(id); compactionPartition.addFile(file); filesToCompact.put(id, compactionPartition); } else { compactionPartition.addFile(file); } selectedFileCount++; } } {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)