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

Sylvain Lebresne commented on CASSANDRA-10146:
----------------------------------------------

As no-one seems to have strong objection to this and as we have started 
assuming this was happening for some 3.0 tickets, we should move forward with 
this ticket. In particular, we should try to get the 2.2 deprecation in as soon 
as possible. As for what there is to do here, I believe this boils down to:

For 2.2:
* Detect when a client connects with v1 or v2 and log a deprecation warning 
(only once per process-lifetime).
* Add the deprecation warning in the upgrading section of the NEWS file.

For 3.0:
* Actually throw a ProtocolException when clients connect with v1 or v2.
* Clean up the code for handling v1 and v2.
* Indicate the removal in the NEWS file.

[~blerer] will you have time to give a shot at this in the coming days?

> 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
>              Labels: client-impacting, doc-impacting
>             Fix For: 2.2.x, 3.0.0 rc1
>
>
> 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