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