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

Implement JMX Provider to Execute Cassandra Repairs via REST Using Jolokia #770

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

Comments

@VictorCavichioli
Copy link
Contributor

Story Description:

The goal of this user story is to implement a JMX provider that enables triggering Cassandra repair operations via REST using Jolokia. Jolokia serves as a bridge, allowing REST API calls to interact with JMX beans exposed by Cassandra. This feature will facilitate external management of Cassandra repairs without directly accessing JMX, instead utilizing REST calls for easier integration with existing REST-based systems.

In the current system, repairs are triggered and executed via direct JMX access, requiring more intricate setup and management. By introducing a JMX provider that utilizes Jolokia, repairs can be managed programmatically through standardized REST calls, simplifying the integration process and making it easier to automate repair tasks. The JMX provider should expose essential repair functionalities, including triggering, monitoring, and retrieving repair status.

The change should be implemented within the provider layer, specifically targeting a new class or set of classes that handle JMX operations through Jolokia.

Acceptance Criteria:

[Acceptance Criterion 1]: The JMX provider can initiate a repair on a specified Cassandra keyspace and table via a REST call using Jolokia.

[Acceptance Criterion 2]: The JMX provider can query the status of an ongoing repair operation, retrieving details such as completion percentage and error statuses, if available.

[Acceptance Criterion 3]: The system logs the REST calls and responses to ensure that repair operations are auditable and traceable.

[Acceptance Criterion 4]: The provider handles errors gracefully, returning meaningful error messages if a repair request fails or if Jolokia is unreachable.

[Acceptance Criterion 5]: Unit and integration tests are included to verify that the repair operations function correctly when initiated via Jolokia.

Definition of Done:

  • The JMX provider is fully implemented and exposes REST endpoints through Jolokia to trigger, monitor, and retrieve Cassandra repair statuses.
  • All acceptance criteria are met, with verification through appropriate test cases.
  • The code is reviewed and passes all quality checks, including style, performance, and security reviews.
  • Documentation is updated to reflect the new provider's capabilities, including usage instructions and example REST calls.

Notes:

  • Ensure that the provider can be configured to point to different Cassandra nodes, allowing flexibility in repair operations across a distributed cluster.
  • Verify that the solution is compatible with existing security configurations and access controls on the JMX interface.
  • Consider rate-limiting or restricting repair calls to avoid excessive load on the Cassandra cluster during high-traffic periods.

Related with #652

@VictorCavichioli VictorCavichioli added enhancement New feature or request PoC/Agent Tasks related to new generation of ecchronos as an agent labels Nov 18, 2024
@VictorCavichioli VictorCavichioli self-assigned this Nov 18, 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