I wanted to do some benchmarking of the client clusters so I added some support for it to the shim and it seems to work pretty well. Hopefully you haven't already done this. There will be an accompanying pull request for basho_bench.
Add support for testing client clusters.
I'd prefer to keep testing against the RawClient. The IRiakClient has a lot of extra work todo, especially on a store (which issues a fetch before each store). What do you think? ClusterClient is a RawClient so it should be possible. Maybe a separate set og shim code for benching IRiakClient?
It means not using RiakFactory but the underlying raw client factories themselves.
Ok, I'll look at making it use the RawClient instead. Do you think it's of use to keep this in its current state in a branch for future use?
Yes, definitely, it would be great to be able to bench with IRiakClient, too. In future we could add a further option to basho_bench for that and use this code then.
As mentioned in previous line note: I'd rather continue to bench against RawClient since IRiakClient really does a lot more than any of the other clients that we might compare too (serialization, conflict resolution, retry etc) There is also the issue with fetching the bucket each operation when you use IRiakClient in this context. The higher level API is really meant to be used in a different way, more of an ORM application were a bucket is fetched than remains part of a service layers state.
If we want to bench against IRiakClient we can add new code for that.