hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matteo Bertozzi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17243) Reuse CompactionPartitionId and avoid creating MobFileName in PartitionedMobCompactor to avoid unnecessary new objects
Date Fri, 02 Dec 2016 19:31:58 GMT

    [ https://issues.apache.org/jira/browse/HBASE-17243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15716028#comment-15716028
] 

Matteo Bertozzi commented on HBASE-17243:
-----------------------------------------

do the _END_INDEX constants needs to be public? it seems something that only the MobFileName
should know about.

the constructor new CompactionPartitionId("", "") with the two empty string looks a bit weird,
maybe add an empty constructor since now the object is mutable.

> 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
>         Attachments: HBASE-17243-master-001.patch
>
>
> 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)

Mime
View raw message