You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (Commented) (JIRA)" <ji...@apache.org> on 2012/04/02 18:39:24 UTC

[jira] [Commented] (CASSANDRA-3951) make thrift interface "backwards compat" guarantee more specific

    [ https://issues.apache.org/jira/browse/CASSANDRA-3951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13244309#comment-13244309 ] 

Jonathan Ellis commented on CASSANDRA-3951:
-------------------------------------------

bq. 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

This is my preferred policy.  In the general case, whether a client wants to support old C* versions is really up to individual client dev teams, and not something we can really control server side.

Any objections to codifying policy as such?
                
> make thrift interface "backwards compat" guarantee more specific
> ----------------------------------------------------------------
>
>                 Key: CASSANDRA-3951
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3951
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: API
>    Affects Versions: 0.5
>            Reporter: paul cannon
>            Assignee: paul cannon
>            Priority: Minor
>              Labels: thrift_protocol
>             Fix For: 1.0.10
>
>
> The comments in cassandra.thrift read:
> {noformat}
> # 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.
> {noformat}
> 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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira