[ https://issues.apache.org/jira/browse/CASSANDRA-8109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14172209#comment-14172209 ]
Rajanarayanan Thottuvaikkatumana commented on CASSANDRA-8109: ------------------------------------------------------------- Sylvain, Currently these two classes are generics. When I searched the code base, these are instantiated with Long and Integer classes. I understood the boxing issue that is described in the ticket. Out of the below cases, can you please identify which change you want to implement? 1) Are you suggesting that these two classes should not be generics at all? If that is the case, did you mean to change these two classes to have the properties "defaultValue" and "value" to be declared as long? If that is the case, in MaxTracker/MinTracker "get" method, specifying whether to return int or long will be tricky depending on the situation and client code will be affected. 2) Keep the current design as the generic classes as it is. Change the properties "defaultValue" and "value" to long. In this approach also, the "get" method will have issue to return the correct data type value. Even in this case the client code will get affected OR did you mean something else. Please clarify. Thanks -Raj > Avoid constant boxing in ColumnStats.{Min/Max}Tracker > ----------------------------------------------------- > > Key: CASSANDRA-8109 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8109 > Project: Cassandra > Issue Type: Improvement > Reporter: Sylvain Lebresne > Assignee: Rajanarayanan Thottuvaikkatumana > Priority: Minor > Labels: lhf > Fix For: 3.0 > > > We use the {{ColumnStats.MinTracker}} and {{ColumnStats.MaxTracker}} to track > timestamps and deletion times in sstable. Those classes are generics but we > really ever use them for longs and integers. The consequence is that every > call to their {{update}} method (called for every cell during sstable write) > box it's argument (since we don't store the cell timestamps and deletion time > boxed). That feels like a waste that is easy to fix: we could just make those > work on longs only for instance and convert back to int at the end when > that's what we need. -- This message was sent by Atlassian JIRA (v6.3.4#6332)