CASSANDRASC-45: Delegate methods to the RateLimiter

Sidecar offers a `SidecarRateLimiter` class that internally uses the
`com.google.common.util.concurrent.RateLimiter`. In this commit, we  expose public methods
of the `RateLimiter` class using the delegate pattern. These methods will allow us to tweak
the settings of the `RateLimiter` that are available to us

patch by Francisco Guerrero; reviewed by Yifan Cai, Dinesh Joshi for CASSANDRASC-45
1 file changed
tree: 6b9948d209de9705733617fd46de88b5b4f45ed7
  1. .circleci/
  2. cassandra-integration-tests/
  3. cassandra40/
  4. common/
  5. docs/
  6. gradle/
  7. ide/
  8. src/
  9. .gitignore
  10. build.gradle
  11. CHANGES.txt
  12. checkstyle.xml
  13. CONTRIBUTING.md
  14. gradle.properties
  15. gradlew
  16. gradlew.bat
  17. LICENSE.txt
  18. README.md
  19. settings.gradle
  20. spotbugs-exclude.xml
README.md

Apache Cassandra Sidecar [WIP]

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.

Requirements

  1. Java >= 1.8 (OpenJDK or Oracle), or Java 11
  2. Apache Cassandra 4.0. We depend on virtual tables which is a 4.0 only feature.
  3. Docker for running integration tests.

Getting started: Running The Sidecar

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

Configuring Cassandra Instance

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.

Testing

We rely on docker containers for integration tests.

The only requirement is to install and run Docker on your test machine.

CircleCI Testing

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.

Contributing

We warmly welcome and appreciate contributions from the community. Please see CONTRIBUTING.md if you wish to submit pull requests.

Wondering where to go from here?