The shell currently has a list scans command which is very useful for debugging. Another command that would be useful is list compactions.
The things that would be useful to know about a running compaction are the following :
- Tablet server
- State (if showing queued compactions)
- Type (User, Chop, System, Idle)
- Iterator info (iterators could have changed since it started and there are per compaction iterators)
- Input files
- Output file
- Key/values read so far (could do bytes also)
- Key/values written so far (could do bytes also)
- Locality group compacting
Could consider using JMX to collect this info from tablet servers. List scans currently uses a thrift call to get its info from tablet servers. Making the info available via JMX would enable other tools to use the information.