Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
0.95.2
-
None
Description
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)
Attachments
Attachments
There are no Sub-Tasks for this issue.