Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create RepairTask Abstract Class to Handle Repair Operations #717

Closed
VictorCavichioli opened this issue Sep 19, 2024 · 1 comment
Closed
Assignees
Labels
enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent

Comments

@VictorCavichioli
Copy link
Contributor

VictorCavichioli commented Sep 19, 2024

Story Description:
We need to create an abstract class RepairTask that will handle the logic of executing repair operations within a distributed system. This class will manage the repair process through a combination of JMX proxy interactions, progress notifications, and failure handling.

Acceptance Criteria:

[Acceptance Criterion 1]: The execute() method should start the repair task, connect to the Cassandra node via JMX, and handle successful and failed repairs. In case of failure, the ScheduledJobException should be thrown, and the appropriate failure metrics should be recorded..

[Acceptance Criterion 2]: The task should handle notification updates via JMX, including progress updates, lost notifications, and task termination upon completion or error.

[Acceptance Criterion 3]: The repair task should prevent hangs by periodically checking the status of the Cassandra node. If the node becomes unresponsive or the repair task hangs for too long, it should attempt to terminate the session and abort the task, and updating the nodes_sync table if the jmx connection is unavailable.

Definition of Done:

  • Code passes static analysis tools (e.g., PMD, Checkstyle) and adheres to coding standards.
  • Documentation is provided for all public methods, explaining their purpose, parameters, and expected behavior.

Notes:

Depends of #716 and #715
Related to #652

@VictorCavichioli VictorCavichioli added enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent labels Sep 19, 2024
@VictorCavichioli VictorCavichioli self-assigned this Oct 10, 2024
@VictorCavichioli
Copy link
Contributor Author

PR merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent
Projects
None yet
Development

No branches or pull requests

1 participant