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

Benedict edited comment on CASSANDRA-8947 at 3/11/15 3:50 PM:
--------------------------------------------------------------

Except that native cells don't actually test equality correctly against each 
other (they treat each other as a CellName). This can itself be fixed, but was 
(iirc) considered fine at the time because we never actually have two native 
cells to perform equality on, and it would require an extra step in the 
equality function. I'm not 100% certain it's worth messing with. -I'm 
comfortable doing so in tandem with this patch if you prefer, though.- I have a 
funny recollection they interact in a non-obvious way (which should definitely 
have been documented), since it is used for CellName equality tests


was (Author: benedict):
Except that native cells don't actually test equality correctly against each 
other (they treat each other as a CellName). This can itself be fixed, but was 
considered fine at the time because we never actually have two native cells to 
perform equality on, and it would require an extra step in the equality 
function. I'm not 100% certain it's worth messing with. I'm comfortable doing 
so in tandem with this patch if you prefer, though.

> Cleanup Cell equality
> ---------------------
>
>                 Key: CASSANDRA-8947
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8947
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Benedict
>            Assignee: Benedict
>            Priority: Minor
>             Fix For: 2.1.4
>
>         Attachments: cleanup_cell_equality.txt
>
>
> As pointed out by [~dbrosius], it is possible for AbstractCell to generate 
> false positive equality assertions if, e.g., a non-expiring cell is replaced 
> by an expiring equivalent. It's not clear to me if this would ever be a real 
> problem, since we would reconcile correctly, and as such equality would 
> unlikely ever be a problem (it's used rarely, only really for hash maps I 
> think (although auditing this is difficult) in which the hash code would also 
> be different, and by which point we should have resolved conflicts). It's 
> also a very small exposure profile, with either non-ttl'd writes mixed with 
> ttl'd, or a delete of a value representing the deletion timestamp.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to