[
https://issues.apache.org/jira/browse/CASSANDRA-9705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14628296#comment-14628296
]
Sylvain Lebresne commented on CASSANDRA-9705:
---------------------------------------------
I somehow sense that we're not going to reach an agreement easily, and I'd
rather not spend too much time on this on this ticket for what I think is
largely orthogonal to the main goals of the ticket. So I'm gonna answer your
last remarks as a form of conclusion, but I'll ask that if your still unhappy
with this, we create a follow-up ticket for that naming issue and continue the
discussion there. It'll focus the conversation, making it easier for others to
share their opinion too.
bq. A ColumnFilter, for instance, does not filter ColumnData, but filters
ColumnDefinition. A RowFilter filters ColumnData, however (or the whole Row).
This is inconsistent, and I would rather we made it consistent.
I wouldn't say that's true at all. A {{ColumnData}} _is_ the data for a
{{ColumnDefinition}}, so filtering {{ColumnDefinition}} _is_ filtering full
{{ColumnData}} (hence {{ColumnFilter}} does filter {{ColumnData}}). In fact,
it's very much the idea behind the use of {{Column}}. As for {{RowFilter}}, it
_always_ filter whole rows (based on condition on the {{ColumData}} but still).
So, without making claims of perfection, I do actually think it's pretty
consistent.
bq. Renaming {{ComplexColumnData}} to {{ComplexCell}}
I frankly dislike the idea of calling {{ComplexCell}} something that's gonna
hold cells. That, I personally find confusing and inconsitent ("Beauty is in
the eye of the beholder"). To me, the name 'cell' has a notion of "atomicity":
it corresponds to a single value with it's related informations (timestamp,
tll, ...). It's in that sense that I say it corresponds to the existing,
pre-8099 notion of cell. And it's that notion that I don't see a good reason to
change.
bq. renaming to {{RowDatum}} would be a little more consistent
For the reasons above, I disagree it would be more consistent, or even better,
since a {{ColumnData}} is again very much "the data for a given column of a
row". But as it is indirectly also "some datum from the row", let say that I
wouldn't fight such renaming too hard. I'd still would want to gather other
opinions on a separate, focused ticket however.
> Simplify some of 8099's concrete implementations
> ------------------------------------------------
>
> Key: CASSANDRA-9705
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9705
> Project: Cassandra
> Issue Type: Sub-task
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Fix For: 3.0 beta 1
>
>
> As mentioned in the ticket comments, some of the concrete implementations
> (for Cell, Row, Clustering, PartitionUpdate, ...) of the initial patch for
> CASSANDRA-8099 are more complex than they should be (the use of flyweight is
> typically probably ill-fitted), which probably has performance consequence.
> This ticket is to track the refactoring/simplifying those implementation
> (mainly by removing the use of flyweights and simplifying accordingly).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)