hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée (Updated) (JIRA) <>
Subject [jira] [Updated] (HIVE-1434) Cassandra Storage Handler
Date Thu, 13 Oct 2011 14:42:13 GMT


Nicolas Lalevée updated HIVE-1434:

    Status: Patch Available  (was: Open)

I have refreshed the patch, see HIVE-1434-r1182878.patch

- upgraded to use cassandra 0.8.7
- the dependencies of cassandra maybe be in conflict with the dependencies of hive. For instance
commons-cli 1.2 is "required" by cassandra, and hive doesn't compile against it. So the "exclude"
in the ivy.xml. I've put the other dependency of cassandra that may get into conflict with
hive's ones, but commented.
- add ASF headers
- commented code removed
- formatted code
- ivy of hive-cassandra-handler make look like the hive-hbase-handler
- in the build, the build of cassandra-handler is now called everywhere the build of hbase-handler
is also being called
- in order to make it compile, I had to comment the line 93 of /hive/cassandra-handler/src/test/org/apache/hadoop/hive/cassandra/
: it required, not sure why. 

not actually related:
- in the build.xml files, includeantruntime="false" added to every javac, to avoid weired
build classpath (as per the warning printed by ant). Apart for the 'ant' module, obviously.
- in build-common.xml, the pattern used made some retrive conflict, so I have fixed the pattern
- in build-common.xml, add a description to the targets test and jar to be listed into the
target listing (ant -p)

But then, tests didn't passed locally, the classpath seems fucked up. I got:
  <testcase classname="org.apache.hadoop.hive.cli.TestCassandraCliDriver" name="testCliDriver_cassandra_queries"
    <error message="Implementing class" type="java.lang.IncompatibleClassChangeError">java.lang.IncompatibleClassChangeError:
Implementing class
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(
	at java.lang.ClassLoader.defineClass(
	at Method)
	at java.lang.ClassLoader.loadClass(
	at sun.misc.Launcher$AppClassLoader.loadClass(
	at java.lang.ClassLoader.loadClass(
	at org.apache.hadoop.hive.cassandra.FramedConnWrapper.getClient(
	at org.apache.hadoop.hive.cassandra.CassandraTestSetup.preTest(
	at org.apache.hadoop.hive.cassandra.CassandraQTestUtil.&lt;init&gt;(
	at org.apache.hadoop.hive.cli.TestCassandraCliDriver.setUp(
	at junit.framework.TestCase.runBare(
	at junit.framework.TestResult$1.protect(
	at junit.framework.TestResult.runProtected(
	at junit.framework.TestSuite.runTest(
	at junit.extensions.TestDecorator.basicRun(
	at junit.extensions.TestSetup$1.protect(
	at junit.framework.TestResult.runProtected(

And the embedded cassandra is relying on files on /tmp. In the patch, see the file cassandra-handler/conf/cassandra.yaml.
I don't know if we can make the paths relative.

> Cassandra Storage Handler
> -------------------------
>                 Key: HIVE-1434
>                 URL:
>             Project: Hive
>          Issue Type: New Feature
>    Affects Versions: 0.7.0
>            Reporter: Edward Capriolo
>            Assignee: Edward Capriolo
>         Attachments: HIVE-1434-r1182878.patch, cas-handle.tar.gz, cass_handler.diff,
hive-1434-1.txt, hive-1434-2-patch.txt, hive-1434-2011-02-26.patch.txt, hive-1434-2011-03-07.patch.txt,
hive-1434-2011-03-07.patch.txt, hive-1434-2011-03-14.patch.txt, hive-1434-3-patch.txt, hive-1434-4-patch.txt,
hive-1434-5.patch.txt, hive-1434.2011-02-27.diff.txt, hive-cassandra.2011-02-25.txt, hive.diff
> Add a cassandra storage handler.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message