dcapwell commented on code in PR #4879:
URL: https://github.com/apache/cassandra/pull/4879#discussion_r3416453901


##########
src/java/org/apache/cassandra/service/accord/txn/TxnCondition.java:
##########
@@ -698,27 +797,60 @@ public long serializedSize(BooleanGroup condition, 
TableMetadatas tables)
 
     public static final ParameterisedUnversionedSerializer<TxnCondition, 
TableMetadatas> serializer = new ParameterisedUnversionedSerializer<>()
     {
+        // TOP_BIT is used to differentiate between Value.Serializer and 
Reference.Serialzer.
+        // This is so done to preserve upgrade compatibility with the prior 
serializer.
+        // Nodes that are not yet upgraded can still deserialize all values 
modulo those that are

Review Comment:
   ```
   In order for Accord to make changes to the serialization it needs to support 
V2 first which requires global configs, which is not in scope in the immediate 
future; given this we need work-arounds to support users who have been 
deploying off trunk to upgrade without breaking them; this is why we have the 
TOP_BIT concept, to enable this type of upgrade for users.
   
   This change is safe under the following assumptions
   
   1) `ref op ref` feature is only used after all nodes have been upgraded
   2) cluster can be mixed mode as long as `ref op ref` is not used
   
   If a user tries to use `ref op ref` in a mixed mode this will lead to 
undefined errors where the only recovery process is to force older nodes to 
upgrade
   ```
   
   Something like that.  Its very detailed on why this is the case...



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to