[
https://issues.apache.org/jira/browse/CASSANDRA-12516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15451676#comment-15451676
]
Stefania commented on CASSANDRA-12516:
--------------------------------------
I don't think we have a problem in 2.1 and 2.2 because the interned maps are
confined to {{CompoundSparseCellNameType}} and {{SimpleSparseCellNameType}} and
in both cases they are not static, so they are limited to the scope of a column
family. We also map the column identifier byte buffers to column definitions in
{{CFMetadata.columnMetadata}} and so we'd have a much bigger issue here but we
don't because we stay within the scope of a column family, with a single
comparator, and the column identifier byte buffers are created consistently.
Interned identifiers became a problem in 3.0 when a static map was added to
{{ColumnIdentifier}}, which spans across column families that might have
different comparators.
Do you agree [~iamaleksey]?
> Interned column identifiers can be overridden incorrectly
> ---------------------------------------------------------
>
> Key: CASSANDRA-12516
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12516
> Project: Cassandra
> Issue Type: Bug
> Reporter: Aleksey Yeschenko
> Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> As discovered by [~Stefania] in CASSANDRA-12423, our use of
> {{ColumnIdentifier.internedInstances}} to map byte buffer column names to
> column identifiers is incorrect. It's possible for two non-equal
> {{ColumnIdentifier}} instances to have the same {{ByteBuffer}} as raw name,
> and yet different text representations, due to different column name types,
> leading to hard to debug correctness issues.
> Should either amend the map to have the type as part of the key, or limit the
> use of that map.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)