Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-1515

refactoring re-used code in CassandraServer classes into a common superclass.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Not A Problem
    • None
    • None
    • None

    Description

      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.

      thanks!

      Attachments

        1. get_insert.diff.txt
          148 kB
          Amol Deshpande

        Issue Links

          Activity

            People

              Unassigned Unassigned
              amol.deshpande Amol Deshpande
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: