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

Gary Dusbabek commented on CASSANDRA-1923:
------------------------------------------

bq: 1: what bugs will this catch, that patch 3 will not?
1 will fail if somebody creates a new class that implements ICompactSerializer 
or removes an existing implementation, both of which have the capability to 
break compatibility in minor releases.

bq: Is there an actual need to change this?
Yes. Usage outside of the package would require making MessageSerializer a 
proper inner class.  (Still, I think exposing MessageSerializer is leaky.)

bq: 6: probably doesn't belong on this ticket, and the bounce should be 
unnecessary w/ the proposed solution on CASSANDRA-1970
I can move it to 1970, but I still think we need it.  The solution proposed 
there is a way to track protocol versions across nodes.  When a new node 
contacts an old node, we still have no guarantee that the old node can properly 
deserialize the message body.

> unit tests that validate that message serialization isn't broken in the 
> current version.
> ----------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1923
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1923
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Core
>            Reporter: Gary Dusbabek
>            Assignee: Gary Dusbabek
>            Priority: Minor
>             Fix For: 0.7.1
>
>         Attachments: 
> v2-0001-ICompactSerializerTest-assures-serialization-assumptio.txt, 
> v2-0002-remove-unused-constructor-in-EstimatedHistogram.txt, 
> v2-0003-Serialization-tests.txt, 
> v2-0004-build-changes-to-run-serialization-tests.txt, 
> v2-0005-0.7-message-serialization-test-binaries.txt, 
> v2-0006-bounce-messages-from-newer-versions.txt
>
>
> There are two components to this.  First, code that will generate the 
> serialized messages.  Second, code that will attempt to read the serialized 
> messages.
> My plan is to commit this to 0.7.1 with generated serialized messages.  Then 
> I will merge that into trunk sans the generation code.  A similar process 
> will need to take place when we branch trunk to create 0.8, etc.  On second 
> thought, maybe it makes sense to keep the generation code and let it morph as 
> the message formats change.
> If the tests ever break in the 0.7 branch, that means we've created a message 
> incompatibility regression that needs to be fixed.  If the tests ever break 
> in trunk (post CASSANDRA-1015), it means that something in trunk has changed 
> message serialization compatibility that will need to be restored (via 
> whatever process is used for 1015).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to