[ https://issues.apache.org/jira/browse/CASSANDRA-14476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16888169#comment-16888169 ]
Terrence Cooke commented on CASSANDRA-14476: -------------------------------------------- I noticed in FastByteOperations.java, inside the UnsafeOperations nested class, line 146 has the following statement: Field f = Unsafe.class.getDeclaredField("theUnsafe"); I think this was meant to be: Field f = UnsafeOperations.class.getDeclaredField("theUnsafe"); since the class sun.misc.Unsafe has no such field but class UnsafeOperations does. > 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: Low > 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.14#76016) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org