ecChronos is a decentralized scheduling framework primarily focused on performing automatic repairs in Apache Cassandra.
The aim of ecChronos is to provide a simple yet effective scheduler that helps in maintaining a cassandra cluster. It is primarily used to run repairs but can be extended to run all manner of maintenance work as well.
- Automate the process of keeping cassandra repaired.
- Split a table repair job into many smaller subrange repairs
- Expose statistics on how well repair is keeping up with the churn of data
- Flexible through many different plug-in points to customize to your specific use case
ecChronos is a helper application that runs next to each instance of Apache Cassandra. It handles maintenance operations for the local node. The repair tasks make sure that each node runs repair once every interval. The interval is configurable but defaults to seven days.
More details on the underlying infrastructure can be found in ARCHITECTURE.md.
More information on the REST interface of ecChronos is described in REST.md.
- Java 17 / 21
- Python 3
Installation instructions can be found in SETUP.md.
In standalone installation, a command line utility called ecctool
is provided.
For more information about ecctool
refer to ECCTOOL.md.
Instructions on how to use ecChronos and configure it to suit your needs can be found in GETTING_STARTED.md
Upgrade instructions can be found in UPGRADE.md.
For information about which ecChronos versions have been tested with which Cassandra versions can be found in COMPATIBILITY.md
Please read CONTRIBUTING.md for details on our code of conduct, development, and the process for submitting pull requests to us.
We try to adhere to SemVer for versioning.
- Anything requiring changes to configuration or plugin APIs should be released in a new major version.
- Anything extending configuration or plugins in a backwards compatible way should be released in a new minor version.
- Bug fixes should be made for the first known version and merged forward.
- Marcus Olsson - Initial work - emolsson
See also the list of contributors who participated in this project.
This project is licensed under the Apache License - see the LICENSE.md file for details