[ 
https://issues.apache.org/jira/browse/HIVE-1434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

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/CassandraTestSetup.java
 : it required com.google.common.collect.AbstractIterator, 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:
{code:xml}
  <testcase classname="org.apache.hadoop.hive.cli.TestCassandraCliDriver" 
name="testCliDriver_cassandra_queries" time="1.579">
    <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(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at 
org.apache.hadoop.hive.cassandra.FramedConnWrapper.getClient(FramedConnWrapper.java:50)
        at 
org.apache.hadoop.hive.cassandra.CassandraTestSetup.preTest(CassandraTestSetup.java:69)
        at 
org.apache.hadoop.hive.cassandra.CassandraQTestUtil.&lt;init&gt;(CassandraQTestUtil.java:31)
        at 
org.apache.hadoop.hive.cli.TestCassandraCliDriver.setUp(TestCassandraCliDriver.java:41)
        at junit.framework.TestCase.runBare(TestCase.java:132)
        at junit.framework.TestResult$1.protect(TestResult.java:110)
        at junit.framework.TestResult.runProtected(TestResult.java:128)
        at junit.framework.TestResult.run(TestResult.java:113)
        at junit.framework.TestCase.run(TestCase.java:124)
        at junit.framework.TestSuite.runTest(TestSuite.java:232)
        at junit.framework.TestSuite.run(TestSuite.java:227)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
        at junit.framework.TestResult.runProtected(TestResult.java:128)
        at junit.extensions.TestSetup.run(TestSetup.java:27)
        at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
        at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
        at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906)
</error>
{code}

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: https://issues.apache.org/jira/browse/HIVE-1434
>             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: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to