cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (Jira)" <>
Subject [jira] [Updated] (CASSANDRA-15193) Add ability to cap max negotiable protocol version
Date Mon, 07 Oct 2019 13:12:00 GMT


Aleksey Yeschenko updated CASSANDRA-15193:
    Status: Ready to Commit  (was: Review In Progress)

> Add ability to cap max negotiable protocol version
> --------------------------------------------------
>                 Key: CASSANDRA-15193
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Messaging/Client
>            Reporter: Sam Tunnicliffe
>            Assignee: Sam Tunnicliffe
>            Priority: Normal
>             Fix For: 3.0.x, 3.11.x
> 3.0 and native protocol V4 introduced a change to how PagingState is serialized. Unfortunately
that can break requests during upgrades: since paging states are opaque, it's possible for
a client to receive a paging state encoded as V3 on a 2.1 node, and then send it to a 3.0
node on a V4 session. The version of the current session will be used to deserialize the paging
state, instead of the actual version used to serialize it, and the request will fail.
> CASSANDRA-15176 solves half of this problem by enabling 3.0 nodes to serialize mis-versioned
PagingStates. To address the other side of the issue, 2.1 nodes receiving V4 PagingStates,
we can introduce a property to cap the max native protocol version that the 3.0 nodes will
negotiate with clients. If we cap this to V3 during upgrades, no V4 connections will be established
and so no incompatible PagingStates will be sent to clients.

This message was sent by Atlassian Jira

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message