Skip to content

Provide a way to get more detailed information about what a fate operation is currently doing. #6017

@keith-turner

Description

@keith-turner

Is your feature request related to a problem? Please describe.

When the fate operation driving a user initiated compaction or bulk import is stuck it can be difficult to gather information on the reason its stuck. Currently the best way to do this may be to enable trace logging in specific classes and hope that shows something.

Describe the solution you'd like

A new fate admin command that provides detailed information about that a fate operation is currently doing. For example if 123456789 is the fate id of a user compaction then it could run the following.

accumulo admin fate --status 123456789

Compacted 7 of 10 tablets.  Compaction id is 400
Compaction config is : ....

   waiting on tablet 1;e with location 192.168.1.40:9996
   waiting on tablet 1;h with location 192.168.1.30:9996
   waiting on tablet 1;x with no location

Hopefully this could be done by adding a method like the following to Repo

public interface Repo
  default void printStatus(ServerContext context, PrintStream out){
    out.println("Status not implemented for "+this.getClass().getName());
  }
}

Then the admin status command could take the top operation off the stack for the fate operation and call the printStatus method.

Can do this in 2.1 as long as adding the default method to the interface does not cause problems for deserialization.

Describe alternatives you've considered

Stick with the trace logging approach. The user has to enable trace logging and then wait for the operation to attempt to run again. This approach has the advantage of giving immediate and targeted information.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementThis issue describes a new feature, improvement, or optimization.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions