Resolution: Not A Problem
Fix Version/s: None
This is my first attempt at refactoring common code between avro and thrift CassandraServer classes into a common superclass.
(It's not fully tested yet, but I did create and query a simple keyspace with cassandra-cli. Looking for feedback about the direction at this point rather than commit to repository).
Here is the broad outline:
1. A new class called AbstractCassandraServer that implements get() and insert() for now.
2. Specialized CassandraServer...Exception() classes thrown by StorageProxy, instead of re-using thrift exceptions.
As I progress in this refactoring, I'd like to do the following :
3. move validation fully into a shared class rather than avro and thrift doing validation.
4. Change batch_mutate so that it does not have avro/thrift versions.
As well as any other work along the way that will make the client-facing interfaces independent of the RPC protocol.