apache/accumulo

Accumulo lacks a way to get status on table level compactions

Opened this issue · 2 comments

Currently its possible to initiate compaction at table level. However after that its difficult to get information on what is happening with those. The list compaction command in the shell shows running compactions against tablets, but it does not offer a higher level view and when aggregating the output of that command there is still a significant lack of information.

Below is an example of the kind of information that would be useful to see for running table compactions.

Table Compaction Id Table Name Start row End row Start time Tablets completed Running compactions Total tablets Configuration
UUID1 table1 m3 m9 2024-05-16 00:01:23 2,000 400 16,000 {}
UUID2 table1 b8 c2 2024-05-16 03:01:23 1,000 800 32,000 {}
UUID3 table2 -inf +inf 2024-05-16 03:01:23 9,000 8,000 64,000 {}

If there was an easy way to show the above information, then it would be useful as follow on to have a cancel(TableCompactionId) operation in addition to the existing cancel(TableId) API that cancels all table compactions for given table.

Added this to elasticity as there are changes there that I suspect may make this much easier to implement, but that could be changed depeding on the direction this takes. Not sure where this functionality should live in the API, shell, monitor, etc.

A first step on this could be a draft PR with proposed API changes that does not actually implement this APIs. Going to try that and see what it looks like.