commit | 38cdacb2e7418e2aefbcffb1754dcd324c46028d | [log] [tgz] |
---|---|---|
author | Dinesh Joshi <djoshi@apache.org> | Fri May 19 15:34:05 2023 -0700 |
committer | Dinesh Joshi <djoshi@apache.org> | Fri May 19 15:34:05 2023 -0700 |
tree | 81832e911a6925afe923b0bb33eee77af17c7e07 | |
parent | 252d983cc11af3dee3588a1c328eac7a080bd462 [diff] |
CEP-28: Implement Bulk API endpoints and introduce the Sidecar Client to Support Cassandra Analytics This commit implements the remaining endpoints needed to perform Bulk Analytics operations that allow reading and writing data from Cassandra in Bulk. The new endpoints include: - Endpoint to create snapshots - Endpoint to clear a snapshot - Endpoint to upload SSTable components - Endpoint to clean up uploads for SSTable components - Endpoint to import SSTable components - Endpoint to retrieve gossip info - Endpoint to retrieve the time skew for the server - Endpoint to retrieve the ring information Sidecar Client Introduces the fully featured sidecar client to access Cassandra Sidecar endpoints. It offers support for retries and Sidecar instance selection policies. The client project itself is technology-agnostic, but we provide a vertx implementation for the `HttpClient`. The Sidecar vertx-client can be published as a shaded-jar to be consumed by clients where the dependencies can cause issues, especially in environments where the dependencies are not always controlled by the consumers (for example Spark). Patch by Doug, Francisco, Saranya, Yifan, Dinesh; reviewed by Dinesh Joshi and Yifan Cai for CASSANDRA-16222 Co-authored-by: Saranya Krishnakumar <saranya_k@apple.com> Co-authored-by: Yifan Cai <ycai@apache.org> Co-authored-by: Francisco Guerrero <francisco.guerrero@apple.com> Co-authored-by: Doug Rohrer <drohrer@apple.com> Co-authored-by: Dinesh Joshi <djoshi@apache.org>
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.