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

make thrift interface "backwards compat" guarantee more specific

    XMLWordPrintableJSON

Details

    Description

      The comments in cassandra.thrift read:

      # The API version (NOT the product version), composed as a dot delimited
      # string with major, minor, and patch level components.
      #
      #  - Major: Incremented for backward incompatible changes. An example would
      #           be changes to the number or disposition of method arguments.
      #  - Minor: Incremented for backward compatible changes. An example would
      #           be the addition of a new (optional) method.
      #  - Patch: Incremented for bug fixes. The patch level should be increased
      #           for every edit that doesn't result in a change to major/minor.
      #
      # See the Semantic Versioning Specification (SemVer) http://semver.org.
      

      This is great to have documented guarantees, but it is unclear whether the "backward compatibility" discussed refers to the Cassandra server being able to talk to clients built against older thrift specs, or whether it refers to clients being able to talk to Cassandra servers built against older thrift specs.

      In a conversation on irc this morning, I found out that it actually meant that the former (older clients should be able to talk to a new Cassandra, but newer clients are not guaranteed to be able to talk to an old Cassandra). On the other hand, people seemed willing to extend the compatibility guarantees in both directions going forward, since we would like to switch to a dedicated CQL transport anyway.

      Either way, the comments in cassandra.thrift should be specific about what is guaranteed so that client and library authors, and Cassandra developers, all agree what to expect.

      Attachments

        1. 3951.patch.txt
          1 kB
          paul cannon

        Activity

          People

            thepaul paul cannon
            thepaul paul cannon
            paul cannon
            Jonathan Ellis
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: