You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jon Meredith (Jira)" <ji...@apache.org> on 2021/02/16 23:59:00 UTC
[jira] [Commented] (CASSANDRA-16385) Correctly serialize all
request responses - CASSANDRA-15946 followup
[ https://issues.apache.org/jira/browse/CASSANDRA-16385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17285553#comment-17285553 ]
Jon Meredith commented on CASSANDRA-16385:
------------------------------------------
I had a think about the patch and wasn't happy with passing the serializer through everywhere.
I've gone back to updating the Message.java code as I think it is much cleaner. I've pushed up a branch [C16385-just-fix-serializer|https://github.com/jonmeredith/cassandra/tree/C16385-just-fix-serializer], would you mind taking a look at that instead [~ifesdjeen] and [~yifanc]?
Just to note an alternate failed attempts, I tried a version where the message/deliver calls did the filtering which was fine for pseudo-messaging, but I got stuck trying to add a handler in the Netty pipeline between the messaging serialization and framing steps to do the filtering.
> Correctly serialize all request responses - CASSANDRA-15946 followup
> --------------------------------------------------------------------
>
> Key: CASSANDRA-16385
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16385
> Project: Cassandra
> Issue Type: Improvement
> Components: Test/dtest/java
> Reporter: Jon Meredith
> Assignee: Jon Meredith
> Priority: Normal
> Fix For: 4.0-beta
>
> Time Spent: 2h
> Remaining Estimate: 0h
>
> When receiving a message, a 4.0 dtest instance reserializes messages to pass them through the dtest message filtering.
>
> The 4.0 internode messaging refactor does not expect to have to re-serialize response
> messages, so the workaround in CASSANDRA-15946 was just to register the ReadResponse serializer for all REQUEST_RESPONSE messages, however request response is used for other responses too.
> I'm attaching a patch that demonstrates the issue by adding a simple Paxos upgrade test to generate a PrepareResponse message that crashes the ReadResponse serializer, then reverts CASSANDRA-15946 and re-users the messaging service serialization method that checks the request callback if a serializer is not defined.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org