apache / apache/accumulo

Accumulo lacks a way to get status on table level compactions

Open
#4,564 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1.2k
Forks
487
Avg merge
4d 5h
Merged PRs (30d)
13

Description

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.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing table-level compaction initiation and cancellation APIs, along with the shell's list compaction command described in the issue. Define how table compaction status should expose identifiers, ranges, timing, progress, and configuration, and clarify the semantics of a future cancel(TableCompactionId) operation alongside cancel(TableId).

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.