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)