tjake / Solandra

Solandra = Solr + Cassandra
Apache License 2.0
884 stars 150 forks source link

Build fails with cassandra 1.2 #183

Open RJ opened 11 years ago

RJ commented 11 years ago

I changed the cassandra version from 1.1.0-beta2 --> 1.2.0 in ivy.xml and pom.xml I would love to try solandra, but need features from cassandra 1.2. Anyone have it compiling against 1.2?

compile:
    [javac] /Users/rj/src/Solandra/build.xml:134: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 34 source files to /Users/rj/src/Solandra/build/classes
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraDaemon.java:24: cannot find symbol
    [javac] symbol  : class CassandraDaemon
    [javac] location: package org.apache.cassandra.thrift
    [javac] public class CassandraDaemon extends org.apache.cassandra.thrift.CassandraDaemon
    [javac]                                                                 ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:36: cannot find symbol
    [javac] symbol  : class ConfigurationException
    [javac] location: package org.apache.cassandra.config
    [javac] import org.apache.cassandra.config.ConfigurationException;
    [javac]                                   ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:40: cannot find symbol
    [javac] symbol  : class AbstractCassandraDaemon
    [javac] location: package org.apache.cassandra.service
    [javac] import org.apache.cassandra.service.AbstractCassandraDaemon;
    [javac]                                    ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:67: reference to ConsistencyLevel is ambiguous, both class org.apache.cassandra.thrift.ConsistencyLevel in org.apache.cassandra.thrift and class org.apache.cassandra.db.ConsistencyLevel in org.apache.cassandra.db match
    [javac]     public static final ConsistencyLevel consistency;
    [javac]                         ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:557: reference to ConsistencyLevel is ambiguous, both class org.apache.cassandra.thrift.ConsistencyLevel in org.apache.cassandra.thrift and class org.apache.cassandra.db.ConsistencyLevel in org.apache.cassandra.db match
    [javac]     public static void robustInsert(ConsistencyLevel cl, RowMutation... mutations)
    [javac]                                     ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:591: reference to ConsistencyLevel is ambiguous, both class org.apache.cassandra.thrift.ConsistencyLevel in org.apache.cassandra.thrift and class org.apache.cassandra.db.ConsistencyLevel in org.apache.cassandra.db match
    [javac]     public static List robustRead(ConsistencyLevel cl, ReadCommand... rc) throws IOException
    [javac]                                        ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:628: reference to ConsistencyLevel is ambiguous, both class org.apache.cassandra.thrift.ConsistencyLevel in org.apache.cassandra.thrift and class org.apache.cassandra.db.ConsistencyLevel in org.apache.cassandra.db match
    [javac]     public static List robustRead(ByteBuffer key, QueryPath qp, List columns, ConsistencyLevel cl)
    [javac]                                                                                                ^
    [javac] /Users/rj/src/Solandra/src/lucandra/dht/RandomPartitioner.java:42: type org.apache.cassandra.db.DecoratedKey does not take parameters
    [javac]     public org.apache.cassandra.db.DecoratedKey decorateKey(ByteBuffer key)
    [javac]                                                ^
    [javac] /Users/rj/src/Solandra/src/lucandra/dht/RandomPartitioner.java:126: type org.apache.cassandra.db.DecoratedKey does not take parameters
    [javac]     public org.apache.cassandra.db.DecoratedKey convertFromDiskFormat(ByteBuffer fromdisk)
    [javac]                                                ^
    [javac] /Users/rj/src/Solandra/src/solandra/SolandraDaemon.java:32: interface expected here
    [javac] public class SolandraDaemon implements CassandraDaemon {
    [javac]                                        ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraDaemon.java:31: cannot find symbol
    [javac] symbol  : variable super
    [javac] location: class lucandra.CassandraDaemon
    [javac]         super.start();
    [javac]         ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:87: cannot find symbol
    [javac] symbol  : class AbstractCassandraDaemon
    [javac] location: class lucandra.CassandraUtils
    [javac]             configLocation = AbstractCassandraDaemon.class.getClassLoader().getResource(config);
    [javac]                              ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:92: cannot find symbol
    [javac] symbol  : class AbstractCassandraDaemon
    [javac] location: class lucandra.CassandraUtils
    [javac]         org.apache.log4j.Logger.getLogger(AbstractCassandraDaemon.class).info("Logging initialized");
    [javac]                                           ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:112: reference to ConsistencyLevel is ambiguous, both class org.apache.cassandra.thrift.ConsistencyLevel in org.apache.cassandra.thrift and class org.apache.cassandra.db.ConsistencyLevel in org.apache.cassandra.db match
    [javac]             consistency = ConsistencyLevel.valueOf(properties.getProperty("solandra.consistency", ConsistencyLevel.ONE
    [javac]                                                                                                   ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:112: reference to ConsistencyLevel is ambiguous, both class org.apache.cassandra.thrift.ConsistencyLevel in org.apache.cassandra.thrift and class org.apache.cassandra.db.ConsistencyLevel in org.apache.cassandra.db match
    [javac]             consistency = ConsistencyLevel.valueOf(properties.getProperty("solandra.consistency", ConsistencyLevel.ONE
    [javac]                           ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:232: cannot find symbol
    [javac] symbol  : class ConfigurationException
    [javac] location: class lucandra.CassandraUtils
    [javac]         catch (ConfigurationException e2)
    [javac]                ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:267: cannot find symbol
    [javac] symbol  : method activate()
    [javac] location: class lucandra.CassandraDaemon
    [javac]                     daemon.activate();
    [javac]                           ^
    [javac] /Users/rj/src/Solandra/src/lucandra/CassandraUtils.java:297: cannot find symbol
    [javac] symbol  : method deactivate()
    [javac] location: class lucandra.CassandraDaemon
    [javac]         daemon.deactivate();
    [javac]               ^
    [javac] /Users/rj/src/Solandra/src/lucandra/IndexWriter.java:622: Pair(T1,T2) has protected access in org.apache.cassandra.utils.Pair
    [javac]             mutationQ = new Pair>(new AtomicInteger(0),
    [javac]                         ^
    [javac] /Users/rj/src/Solandra/src/lucandra/dht/RandomPartitioner.java:49: type org.apache.cassandra.db.DecoratedKey does not take parameters
    [javac]             return new org.apache.cassandra.db.DecoratedKey(super.getToken(key), key);
    [javac]                                                            ^
    [javac] /Users/rj/src/Solandra/src/lucandra/dht/RandomPartitioner.java:55: type org.apache.cassandra.db.DecoratedKey does not take parameters
    [javac]             return new org.apache.cassandra.db.DecoratedKey(new BigIntegerToken(ByteBufferUtil.string(extractedToken)), key);
    [javac]                                                            ^
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 21 errors

BUILD FAILED
firepub-pfreeman commented 11 years ago

edit: I guess I was wrong... while trying to debug this, it appears that the 1.2 codebase has changed quite a bit. It appears that while ivy downloaded the right jar, it compiled it against an old one... must have missed a dependency someplace.

firepub-pfreeman commented 11 years ago

I ported solandra to cassanda 1.2 and when running it I now get a thrift error. Build works fine, must just be a config issue:

INFO 17:06:01,835 Using TFramedTransport with a max frame size of 15728640 bytes. INFO 17:06:01,841 Using synchronous/threadpool thrift server on ember-cassandra : 9160 INFO 17:06:01,842 Listening for thrift clients... INFO 17:06:02,843 Sleeping 1237ms to stagger solandra schema creation

java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:243) Caused by: java.lang.AssertionError at org.apache.cassandra.thrift.ThriftSessionManager.currentSession(ThriftSessionManager.java:51) at org.apache.cassandra.thrift.CassandraServer.state(CassandraServer.java:88) at org.apache.cassandra.thrift.CassandraServer.system_add_keyspace(CassandraServer.java:1344) at lucandra.CassandraUtils.createCassandraSchema(CassandraUtils.java:405) at lucandra.CassandraUtils.startupServer(CassandraUtils.java:285) at solandra.SolandraDaemon.startRPCServer(SolandraDaemon.java:77) at solandra.SolandraDaemon.start(SolandraDaemon.java:55) ... 5 more Cannot start daemon Service exit with a return value of 5

jnbdz commented 11 years ago

Can you share what you have done... I will try to look into it myself.