Matteo Bertozzi created HBASE-7253:
--------------------------------------

             Summary: 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

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

Reply via email to