Tyler Hobbs created CASSANDRA-10146:
---------------------------------------

             Summary: Deprecate v1 and v2 protocol in 2.2, drop support in 3.0
                 Key: CASSANDRA-10146
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10146
             Project: Cassandra
          Issue Type: Task
          Components: Core
            Reporter: Tyler Hobbs
            Assignee: Benjamin Lerer
             Fix For: 2.2.x, 3.0.x


In 3.0, we would like to use frozen collections in the system keyspaces, and it 
seems likely that we will eventually want to use tuples or nested collections 
as well.  Drivers that only support protocol versions 1 and 2 will not be able 
to read these system keyspaces because they cannot decode those types.

I think this is a good time to start deprecating and dropping support for old 
protocol versions.  The v3 protocol was introduced in 2.1, so if we remove 
support for v1 and v2 in 3.0, that gives users two major versions to upgrade 
their drivers.  Fortunately, upgrading drivers to a version that supports the 
v3 protocol is generally straightforward.

The benefits of doing this are:
* We can use new types in the system keyspaces
* We can eliminate protocol-version-specific encoding and decoding of 
collections within Cassandra
* Driver maintainers can eventually drop support for old protocol versions once 
all C* versions that support them are EOL

To avoid a hard drop of v1 and v2 support in 3.0, I propose that we also 
officially deprecate these in 2.2.  Unfortunately, we don't have protocol-level 
warnings until v4, so we can't use that to notify users of the deprecation, but 
the combination of a NEWS.txt entry, warning logs, and (potentially) 
driver-level warnings should suffice.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to