cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wei Zhu <>
Subject Re: Java high-level client
Date Tue, 27 Nov 2012 18:38:06 GMT
We are using Hector 1.0-5 which comes with cassandra-thrift 1.09 -> libthrift 0.6.1. It
can work with Cassandra 1.1.6.
Totally agree it's a pain to deal with different version of libthrift. We use scribe for logging,
a bit messy over there.


 From: Edward Capriolo <>
Sent: Tuesday, November 27, 2012 8:57 AM
Subject: Re: Java high-level client

Hector does not require an outdated version of thift, you are likely using an outdated version
of hector. 

Here is the long and short of it: If the thrift thrift API changes then hector can have compatibility
issues. This happens from time to time. The main methods like get() and insert() have remained
the same, but the CFMetaData objects have changed. (this causes the incompatible class stuff
you are seeing).

CQLhas a different version of the same problem, the CQL syntax is version-ed. For example,
if you try to execute a CQL3 query as a CQL2query it will likely fail. 

In the end your code still has to be version aware. With hector you get a compile time problem,
with pure CQL you get a runtime problem.

I have always had the opinion the project should have shipped hector with Cassandra, this
would have made it obvious what version is likely to work. 

The new CQL transport client is not being shipped with Cassandra either, so you will still
have to match up the versions. Although they should be largely compatible some time in the
near or far future one of the clients probably wont work with one of the servers.


On Tue, Nov 27, 2012 at 11:10 AM, Michael Kjellman <> wrote:

Netflix has a great client
>On 11/27/12 7:40 AM, "Peter Lin" <> wrote:
>>I use hector-client master, which is pretty stable right now.
>>It uses the latest thrift, so you can use hector with thrift 0.9.0.
>>That's assuming you don't mind using the active development branch.
>>On Tue, Nov 27, 2012 at 10:36 AM, Carsten Schnober
>><> wrote:
>>> Hi,
>>> I'm aware that this has been a frequent question, but answers are still
>>> hard to find: what's an appropriate Java high-level client?
>>> I actually believe that the lack of a single maintained Java API that is
>>> packaged with Cassandra is quite an issue. The way the situation is
>>> right now, new users have to pick more or less randomly one of the
>>> available options from the Cassandra Wiki and find a suitable solution
>>> for their individual requirements through trial implementations. This
>>> can cause and lot of wasted time (and frustration).
>>> Personally, I've played with Hector before figuring out that it seems to
>>> require an outdated Thrift version. Downgrading to Thrift 0.6 is not an
>>> option for me though because I use Thrift 0.9.0 in other classes of the
>>> same project.
>>> So I've had a look at Kundera and at Easy-Cassandra. Both seem to lack a
>>> real documentation beyond the examples available in their Github
>>> repositories, right?
>>> Can more experienced users recommend either one of the two or some of
>>> the other options listed at the Cassandra Wiki? I know that this
>>> strongly depends on individual requirements, but all I need are simple
>>> requests for very basic queries. So I would like to emphasize the
>>> importance a clear documentation and a stable and well-maintained API.
>>> Any hints?
>>> Thanks!
>>> Carsten
>>> --
>>> Institut für Deutsche Sprache |
>>> Projekt KorAP                 |
>>> Tel. +49-(0)621-43740789      |
>>> Korpusanalyseplattform der nächsten Generation
>>> Next Generation Corpus Analysis Platform
>'Like' us on Facebook for exclusive content and other resources on all Barracuda Networks
View raw message