cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-8947) Cleanup Cell equality
Date Wed, 11 Mar 2015 15:50:39 GMT

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

Mime
View raw message