[
https://issues.apache.org/jira/browse/CASSANDRA-15176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868607#comment-16868607
]
Aleksey Yeschenko edited comment on CASSANDRA-15176 at 6/21/19 6:08 PM:
------------------------------------------------------------------------
3.0: [branch|https://github.com/iamaleksey/cassandra/commits/15176-3.0],
[CI|https://circleci.com/workflow-run/1ad6fb56-9c77-48d8-8f1f-0e10a65db708]
3.11: [branch|https://github.com/iamaleksey/cassandra/commits/15176-3.11],
[CI|https://circleci.com/workflow-run/53bb7919-9422-4d43-9613-2d42b233721f]
4.0: [branch|https://github.com/iamaleksey/cassandra/commits/15176-4.0],
[CI|https://circleci.com/workflow-run/23df2f86-52bb-400e-9fab-83e71122c46b]
was (Author: iamaleksey):
3.0 branch [here|https://github.com/iamaleksey/cassandra/commits/15176-3.0],
others upcoming.
> Fix PagingState deserialization when the state was serialized using protocol
> version different from current session's
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-15176
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15176
> Project: Cassandra
> Issue Type: Bug
> Components: Messaging/Client
> Reporter: Aleksey Yeschenko
> Assignee: Aleksey Yeschenko
> Priority: Normal
>
> 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.
> This is obviously sub-optimal, but also avoidable. This JIRA fixes one half
> of the problem: 3.0 failing to deserialize 'mislabeled' paging states. We can
> do this by inspecting the byte buffer to verify if it's been indeed
> serialized with the protocol version used by the session, and if not, use the
> other method of deserialization.
> It should be noted that we list this as a 'known limitation' somewhere, but
> really this is an upgrade-blocking bug for some users of C*.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]