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

David Capwell commented on CASSANDRA-14476:
-------------------------------------------

[~jlewandowski], when I first found out about the fixed length types being 
variable length I wanted to fix but this trickles down to the SSTable format as 
well, so requires special handling to avoid upgrade/downgrades

> 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: Jacek Lewandowski
>            Priority: Low
>              Labels: lhf
>             Fix For: 5.0.x, 5.1
>
>
> 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
(v8.20.10#820010)

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

Reply via email to