[
https://issues.apache.org/jira/browse/CASSANDRA-9901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14699798#comment-14699798
]
Benedict commented on CASSANDRA-9901:
-------------------------------------
bq. What I could suggest, on top of
If we were to say "instead of" and we stuck with the enum, I'd be with you. One
of the advantages of using an enum that I did not enumerate was the possibility
of performing more efficient despatch for "mixed" clustering data (i.e. with
some byte comparable, some not), especially given we now always consult the
boolean parameter from the class property, since the comparisons of each
clustering column is performed in a different method call now (so if we have a
different class property to consult as cheaply, we may as well do so).
Having two virtual invocations instead of one on this path is a pretty
significant burden we should avoid, however.
bq. From a quick look, it looks like the patch will log warning for every
internal type that is not byte comparable
{code}
+ if
(!getClass().getPackage().equals(AbstractType.class.getPackage()))
+ logger.warn("Type " + this + " is not comparable by its
unsigned sequence of raw bytes. A future (major) release of Cassandra may
remove support for such arbitrary comparisons, however upgrade steps will be
provided to ensure a smooth transition.");
{code}
Admittedly I haven't confirmed this, but it looks fine to me, and I'll double
check before we commit.
bq. Also, logging in CFMetadaData.rebuild is going to be more noisy than
necessary
I prefer to log more often than less, since there's more chance of it being
spotted. I don't think we rebuild _so_ often - just during schema changes, no?
> Make AbstractType.isByteOrderComparable abstract
> ------------------------------------------------
>
> Key: CASSANDRA-9901
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9901
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Benedict
> Assignee: Benedict
> Fix For: 3.0.0 rc1
>
>
> I can't recall _precisely_ what was agreed at the NGCC, but I'm reasonably
> sure we agreed to make this method abstract, put some javadoc explaining we
> may require fields to yield true in the near future, and potentially log a
> warning on startup if a user-defined type returns false.
> This should make it into 3.0, IMO, so that we can look into migrating to
> byte-order comparable types in the post-3.0 world.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)