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

Reply via email to