You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benedict (JIRA)" <ji...@apache.org> on 2015/03/11 16:50:39 UTC

[jira] [Comment Edited] (CASSANDRA-8947) Cleanup Cell equality

    [ 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)