Cassandra
  1. Cassandra
  2. CASSANDRA-1515

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

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Not A Problem
    • Fix Version/s: None
    • Component/s: Core
    • Labels:
      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!

      1. get_insert.diff.txt
        148 kB
        Amol Deshpande

        Issue Links

          Activity

          Hide
          Eric Evans added a comment -

          If we remove the avro implementation, then this is moot.

          Show
          Eric Evans added a comment - If we remove the avro implementation, then this is moot.
          Hide
          Jonathan Ellis added a comment -

          Avro was removed for 0.8

          Show
          Jonathan Ellis added a comment - Avro was removed for 0.8

            People

            • Assignee:
              Unassigned
              Reporter:
              Amol Deshpande
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development