cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-9705) Simplify some of 8099's concrete implementations
Date Wed, 15 Jul 2015 16:13:04 GMT


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:
>             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

View raw message