cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shawn Lavelle (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-9901) Make AbstractType.isByteOrderComparable abstract
Date Fri, 16 Sep 2016 21:54:21 GMT


Shawn Lavelle commented on CASSANDRA-9901:

This may or may not be the right place for this, but ... I'm posting for awareness.

This change converted two anonymous classes into Lambda expressions. One in AbstractType and
one in MapSerializer. When I attempt to use any of the Cassandra 3.0.x lines (through 9 snapshot
that I compiled), I get runtime class not found exceptions looking for AbstractType$Lambda$$2.
 I was able to replace the lambda with an anonymous class and remove the exceptions (that's
how I found the MapSerializer doing the same thing) and then the code ran.  

There seems to be a known bug with Javac under 1.8.0_25 and fixed in 1.8.0_45 with lambda's
losing type information during compile? Might be related.

If there's already a ticket for this, please forgive me, but I couldn't find it. I wanted
to post this here in case anyone else encountered it and their googles were as fruitless as

> Make AbstractType.isByteOrderComparable abstract
> ------------------------------------------------
>                 Key: CASSANDRA-9901
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Benedict
>            Assignee: Benedict
>             Fix For: 3.0 beta 2
>         Attachments: C2 compilation output
> 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
> 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

View raw message