[
https://issues.apache.org/jira/browse/HBASE-7253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matteo Bertozzi updated HBASE-7253:
-----------------------------------
Attachment: HBASE-7253-v1.patch
v1 patch with fixes to missing options explanation.
> Compaction Tool
> ---------------
>
> Key: HBASE-7253
> URL: https://issues.apache.org/jira/browse/HBASE-7253
> Project: HBase
> Issue Type: New Feature
> Components: Compaction
> Affects Versions: 0.96.0
> Reporter: Matteo Bertozzi
> Assignee: Matteo Bertozzi
> Priority: Minor
> Fix For: 0.96.0
>
> Attachments: HBASE-7253-v0.patch, HBASE-7253-v1.patch
>
>
> In HBASE-5616, as part of the compaction code refactor, a CompactionTool was
> added.
> but there are some issues:
> * The tool is under test/
> * mockito is required, so the "test" scope should be removed from the
> pom.xml, otherwise the tool doesn't start
> * The mock, used by the tool, is mocking HRegion.getRegionInfo() but some
> code (Store) uses HRegion.regionInfo directly HStore.java#L2021,
> HStore.java#L1389, HStore.java#L1402 and you end up with a NPE in the tool.
> * The Mocked Store uses a dummy family and the compacted files doesn't get
> the same family properties specified (compression, encoding, ...)
> * at the end of compaction CompactionTool.java#L155, on by default, the
> compaction file is removed (note that the compacted one are already removed
> inside the store.compact()... and you end up with an empty dir, if you
> compact everything.
> I've fixed some stuff and added support to:
> * Run the compaction as a MR Job
> * Specify a Table (compact each region/family)
> * Specify a Region (compact each family)
> * Specify a Family (as before)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira