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

Ariel Weisberg commented on CASSANDRA-14476:
--------------------------------------------

I think the thing to do there is have valueLengthIfFixed accept a version for, 
and depending on the version return a value that reflects whether it is before 
or after whatever we put in 4.0. You will have to make sure the version is what 
we expected because we have multiple versions, streaming version, messaging 
service version, sstable format version and inside a serializer/deserializer we 
have to have the right one.

> ShortType and ByteType are incorrectly considered variable-length types
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-14476
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14476
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Legacy/Core
>            Reporter: Vladimir Krivopalov
>            Assignee: Jearvon Dharrie
>            Priority: Minor
>              Labels: lhf
>
> The AbstractType class has a method valueLengthIfFixed() that returns -1 for 
> data types with a variable length and a positive value for types with a fixed 
> length. This is primarily used for efficient serialization and 
> deserialization. 
>  
> It turns out that there is an inconsistency in types ShortType and ByteType 
> as those are in fact fixed-length types (2 bytes and 1 byte, respectively) 
> but they don't have the valueLengthIfFixed() method overloaded and it returns 
> -1 as if they were of variable length.
>  
> It would be good to fix that at some appropriate point, for example, when 
> introducing a new version of SSTables format, to keep the meaning of the 
> function consistent across data types. Saving some bytes in serialized format 
> is a minor but pleasant bonus.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to