WIP: New Benchmark: Cassandra + YCSB
Able to build and run the the
test size inside one JVM.
- 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
stderr, 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 of
URLClassLoader. 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.