cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7692) Upgrade Cassandra Java Driver to 2.1
Date Fri, 03 Oct 2014 21:51:34 GMT

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

Robert Stupp commented on CASSANDRA-7692:
-----------------------------------------

I thought a bit about using the Java Driver for the UDF with user-types, tuple-types and collections.

Although I like the idea to reuse code in Java Driver, it feels a bit strange to use the Java
Driver for that due to the Netty major version mismatch in C* and the driver.

I see these options:

1. Move java-driver to some {{$CASSANDRA_HOME/lib/internal-only}} directory. But that might
not work for all configurations (e.g. embedded C* and use of another Java driver version)
1. Wait until the [netty update (JAVA-352)|https://datastax-oss.atlassian.net/browse/JAVA-352]
is done. But ties both the driver and C* to the same Netty version - forever.
1. Basically copy UDT, tuple and collection serialization code from java driver and adopt
it (refactor to org.apache.cassandra..., remove unused code, etc): Feels like the easiest
solution. No dependency foo. Can reuse existing schema information in {{KSMetaData}} / {{UTMetaData}}
1. Split the java driver into separate artifacts. Feels complex. Seems to be lot of work and
makes driver code more complex.

I'd propose option 3.
Also AFAIK {{ListType}}, {{SetType}} and {{MapType}} are already able to serialize with (primitive)
types.
So we could add that functionality to {{UserType}} and {{TupleType}} - maybe via different
methods since UT and TT currently serialize using {{BytesSerializer}}.

Just for information - common dependencies of java-driver and C* are:
||library||Java Driver||C*
|snappy-java|1.0.5|1.0.5.2
|lz4|1.2.0|1.2.0
|codahale-metrics|3.0.2|(C* might use that in future)
|netty|3.9.0.Final|4.0.20.Final
|guava|16.0.1|16.0

WDYT?

> Upgrade Cassandra Java Driver to 2.1
> ------------------------------------
>
>                 Key: CASSANDRA-7692
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7692
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Robert Stupp
>            Assignee: Robert Stupp
>             Fix For: 3.0
>
>         Attachments: 7692-2.1.txt, 7692-3.0.txt, 7692-3.0v2.txt
>
>
> UDFs (CASSANDRA-7563) requires Java Driver that supports User Types and new collection
features (at least Java Driver 2.1).
> May also be handled separately if e.g. Hadoop stuff requires this (follow-up to CASSANDRA-7618).



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

Mime
View raw message