apache/accumulo

Create a non-compacting compaction as a way to move files

Opened this issue · 1 comments

Is your feature request related to a problem? Please describe.
A compaction reduces many files to one. During this process the input files are read, an output file is created (maybe on a different volume), and the tablet metadata is updated appropriately. There is a case where a user may want to move files from one volume to another, and the compaction mechanism is the only way to do it. However, performing a compaction can be resource intensive depending on the iterators involved.

Describe the solution you'd like
Create a new major compaction-like task that performs the same overall process, but instead of reducing the input files, just copy the files input files to output files. Instead of being many to one operation, this would be a one to one operation. As an optimization, the copy could be done below the RFile level to just copy the underlying file from the Volume.

I can take a look at this