commit | 5471b66c1e69e057bbbe75e4ffe67c1891cd9495 | [log] [tgz] |
---|---|---|
author | Francisco Guerrero <francisco.guerrero@apple.com> | Mon Oct 10 14:35:12 2022 -0700 |
committer | Yifan Cai <yifan_cai@apple.com> | Mon Oct 17 15:57:01 2022 -0700 |
tree | 0cc68a2c90a10f1bc10f75e49b9f521d502ea3dc | |
parent | 1759eb535ff2dbd3dea3fa8626eba0fe70ecb113 [diff] |
CASSANDRASC-44 Refactor health check to use vertx timer Vertx API offers a periodic timer that integrates with it's internal thead pooling mechanism. In this commit, we utilize vertx's periodic timer in favor of using a `Executors.newSingleThreadScheduledExecutor()` on each delegate. Another benefit of this approach is that if the cluster topology changes, i.e. node replacement, cluster expansion / shrink, then the health checks will be performed against the actual nodes in the cluster, assuming we receive an updated view of the cluster when invoking the `Configuration#getInstancesConfig()#instances()` method. We no longer need to worry about decommissioning the single thread executors running on each delegate. patch by Francisco Guerrero; reviewed by Yifan Cai, Dinesh Joshi for CASSANDRASC-44
This is a Sidecar for the highly scalable Apache Cassandra database. For more information, see the Apache Cassandra web site and CIP-1.
This is project is still WIP.
After you clone the git repo, you can use the gradle wrapper to build and run the project. Make sure you have Apache Cassandra running on the host & port specified in conf/sidecar.yaml
.
$ ./gradlew run
While setting up cassandra instance, make sure the data directories of cassandra are in the path stored in sidecar.yaml file, else modify data directories path to point to the correct directories for stream APIs to work.
We rely on docker containers for integration tests.
The only requirement is to install and run Docker on your test machine.
You will need to use the “Add Projects” function of CircleCI to set up CircleCI on your fork. When promoted to create a branch, do not replace the CircleCI config, choose the option to do it manually. CircleCI will pick up the in project configuration.
We warmly welcome and appreciate contributions from the community. Please see CONTRIBUTING.md if you wish to submit pull requests.