[ 
https://issues.apache.org/jira/browse/CASSANDRA-11213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15226489#comment-15226489
 ] 

Sylvain Lebresne commented on CASSANDRA-11213:
----------------------------------------------

I like it. Just a few minor remarks:
* I'd rename {{AbstractClusteringBound}} to {{ClusteringBoundOrBoundary}}. I 
think it's more explicit and I don't love using {{Abstract*}} unless the 
abstract class exists only for code reuse and as no sense on its own (but here 
{{AbstractClusteringBound}} is used by {{RangeTombstoneMarker}}).
* I'd update the javadoc of 
{{AbstractClusteringBound}}/{{ClusteringBound}}/{{ClusteringBoundary}} to not 
mention {{Slice}} or {{RangeTombsone}}. It's confusing for instance that 
{{AbstractClusteringBound}} is defined as "the bound of a range tombstone" but 
{{ClusteringBound}}, which is defined as "the bound of a slice", extends it.  
I'd just define {{ClusteringBound}} as "the start or end of a range of 
Clustering", {{ClusteringBoundary}} as the contraction of 2 bounds, and 
{{ClusteringBoundOrBoundary}} as, well, what the name implies.
* There is still a few comments that are referencing {{Slice.Bound}} (including 
the class level javadoc of {{ClusteringPrefix}} that needs some updating).

Probably also needs rebasing, sorry for that.

> Improve ClusteringPrefix hierarchy
> ----------------------------------
>
>                 Key: CASSANDRA-11213
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11213
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Sylvain Lebresne
>            Assignee: Branimir Lambov
>             Fix For: 3.x
>
>
> As noted by [~blambov] on CASSANDRA-11158, having {{RangeTombstone.Bound}} be 
> a subclass of {{Slice.Bound}} is somewhat inconsistent. I'd argue in fact 
> that conceptually neither should really be a subclass of the other as none is 
> a special case of the other and they are use in strictly non-overlapping 
> places ({{Slice.Bound}} is for slices which are used for selecting data while 
> {{RangeTombstone.Bound}} is for range tombstone which actually represent some 
> type of data).
> We should figure out a cleaner hierarchy of this, which probably mean 
> slightly changing the {{ClusteringPrefix}} hierarchy.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to