The RepairGroup class is responsible for managing repair tasks in Cassandra clusters, particularly scheduling and executing repairs for specific tables. The goal is to define and implement this class ensuring that it integrates correctly with the components like RepairConfiguration, ReplicaRepairGroup, DistributedJmxProxyFactory, and others.
The current implementation requires managing repair policies, metrics, and tasks within a distributed environment. The new class should support the configuration and execution of repair tasks, ensuring they follow the policies and successfully complete unless stopped by specific conditions.
Acceptance Criteria:
The execute() method should attempt to run all the repair tasks in the group, considering repair policies, and return a boolean indicating success or failure.
Definition of Done:
All required methods are implemented in the RepairGroup class.
Unit tests are written to validate the functionality of execute(), shouldContinue(), and getRepairTasks().
Integration tests ensure the RepairGroup interacts correctly with distributed systems, using DistributedJmxProxyFactory and ReplicaRepairGroup.
Logging and error handling are in place, with logs indicating when repairs fail or are stopped by policies.
Notes:
The UUID nodeID is passed to ensure tasks are associated with the correct node in a distributed environment.
Story Description:
The RepairGroup class is responsible for managing repair tasks in Cassandra clusters, particularly scheduling and executing repairs for specific tables. The goal is to define and implement this class ensuring that it integrates correctly with the components like RepairConfiguration, ReplicaRepairGroup, DistributedJmxProxyFactory, and others.
The current implementation requires managing repair policies, metrics, and tasks within a distributed environment. The new class should support the configuration and execution of repair tasks, ensuring they follow the policies and successfully complete unless stopped by specific conditions.
Acceptance Criteria:
The execute() method should attempt to run all the repair tasks in the group, considering repair policies, and return a boolean indicating success or failure.
Definition of Done:
Notes:
The UUID nodeID is passed to ensure tasks are associated with the correct node in a distributed environment.
Related with #652 Depends of #737