WIP: New Benchmark: Cassandra + YCSB
Description
Addresses Issue 147 on GitHub, adding Apache Cassandra with YCSB as workload.
Progress
Able to build and run the the test
size inside one JVM.
TODO
-
Benchmark calibration: default YCSB workloads can be quite small; according this swiki you can adjust the workload by redefining the properties like this:
./bin/ycsb load cassandra-10 -p hosts="192.168.122.89" -threads 128 -p fieldcount=20 -p operationcount=900000 -p recordcount=15000000 -p requestdistribution=zipfian -P workloads/workloada -s > workloada_load_res.txt
-
Validation: there is a huge output in stdout
andstderr
, how do we validate the run? -
Java version dependency: currently the benchmark harness uses classes from Cassandra to start a daemon and initialise a keyspace. This portion of code hacks the system classloader to work. And this requires the ClassLoader.getSystemClassLoader()
to be an instance ofURLClassLoader
. This is not true anymore in Java 9+. A solution to this is to call those functions through the reflection API. The reason this is not yet done is because I found using the reflection API a bit tedious and difficult to read & debug.
Edited by John Zhang