[
https://issues.apache.org/jira/browse/CASSANDRA-8848?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tyler Hobbs updated CASSANDRA-8848:
-----------------------------------
Attachment: 8848-2.1.txt
8848-2.0.txt
Thanks for the patch, [~Zariel]!
Since this issue appears to also affect 2.0 and 2.1, I've attached backported
versions of the patch. I also made the following changes:
* Fix bugs where wrapped ErrorMessages were not actually thrown
* Only catch ProtocolException instead of Throwable when looking up opcode
* Add two test cases for other protocol errors
* Minor code style and license header cleanup
Would you mind reviewing the new patches?
> Protocol exceptions always use streamID 0
> -----------------------------------------
>
> Key: CASSANDRA-8848
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8848
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Chris Bannister
> Assignee: Tyler Hobbs
> Priority: Minor
> Fix For: 2.0.13, 2.1.4
>
> Attachments: 8848-2.0.txt, 8848-2.1.txt, trunk-8848.patch
>
>
> When decoding the binary protocol if a ProtocolException is thrown the
> streamID the request came in on is lost. This makes it very hard for drivers
> to correctly handle improper protocol implementations.
> Included is a test case which sends a frame with version 0x82 and op 0x9
> which should return a ProtocolError indicating that PREPARE should be a
> client Request not a response.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)