[ https://issues.apache.org/jira/browse/CASSANDRA-4228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
bert Passek updated CASSANDRA-4228: ----------------------------------- Attachment: (was: CassandraTest.java) > Exception while reading from cassandra via ColumnFamilyInputFormat and > OrderPreservingPartitioner > ------------------------------------------------------------------------------------------------- > > Key: CASSANDRA-4228 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4228 > Project: Cassandra > Issue Type: Bug > Components: Hadoop > Affects Versions: 1.1.0 > Environment: Debian Squeeze > Reporter: bert Passek > > We recently updated cassandra from verison 1.0.8 to 1.1.0 on a debian squeeze > system. After that we can not use ColumnFamilyInputFormat anymore due to > exceptions in cassandra. A simple unit test is provided via attachement. > Here are some details about our simple setup: > Ring: > Address DC Rack Status State Load Owns > Token > 127.0.0.1 datacenter1 rack1 Up Normal 859.36 KB > 100,00% 55894951196891831822413178196787984716 > Schema Definition: > create column family TestSuper > with column_type = 'Super' > and comparator = 'BytesType' > and subcomparator = 'BytesType' > and default_validation_class = 'BytesType' > and key_validation_class = 'BytesType' > and read_repair_chance = 0.1 > and dclocal_read_repair_chance = 0.0 > and gc_grace = 864000 > and min_compaction_threshold = 4 > and max_compaction_threshold = 32 > and replicate_on_write = true > and compaction_strategy = > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' > and caching = 'KEYS_ONLY' > and compression_options = {'sstable_compression' : > 'org.apache.cassandra.io.compress.SnappyCompressor'}; > While running the test we face following exception on client side: > 12/05/09 10:18:22 INFO junit.TestRunner: > testColumnFamilyInputFormat(de.unister.cpc.tests.CassandraTest): > org.apache.thrift.transport.TTransportException > 12/05/09 10:18:22 INFO junit.TestRunner: java.lang.RuntimeException: > org.apache.thrift.transport.TTransportException > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.maybeInit(ColumnFamilyRecordReader.java:391) > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.computeNext(ColumnFamilyRecordReader.java:397) > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.computeNext(ColumnFamilyRecordReader.java:323) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader.nextKeyValue(ColumnFamilyRecordReader.java:188) > at > de.unister.cpc.tests.CassandraTest.testColumnFamilyInputFormat(CassandraTest.java:98) > 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) > at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > at org.junit.runners.Suite.runChild(Suite.java:115) > at org.junit.runners.Suite.runChild(Suite.java:23) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) > at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at org.junit.runners.ParentRunner.run(ParentRunner.java:220) > at org.junit.runner.JUnitCore.run(JUnitCore.java:137) > at org.junit.runner.JUnitCore.run(JUnitCore.java:116) > at org.junit.runner.JUnitCore.run(JUnitCore.java:107) > at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:66) > at de.unister.cpc.junit.TestRunner.run(TestRunner.java:55) > at de.unister.cpc.MainRunner.runInternal(MainRunner.java:129) > at de.unister.cpc.MainRunner.run(MainRunner.java:52) > at de.unister.cpc.MainRunner.main(MainRunner.java:143) > 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.hadoop.util.RunJar.main(RunJar.java:197) > Caused by: org.apache.thrift.transport.TTransportException > at > org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132) > at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84) > at > org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:129) > at > org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101) > at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84) > at > org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378) > at > org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297) > at > org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204) > at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69) > at > org.apache.cassandra.thrift.Cassandra$Client.recv_get_range_slices(Cassandra.java:683) > at > org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:667) > at > org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.maybeInit(ColumnFamilyRecordReader.java:356) > and on server side: > ==> /var/log/cassandra/system.log <== > ERROR [Thrift:5] 2012-05-09 10:18:22,603 CustomTThreadPoolServer.java (line > 204) Error occurred during processing of message. > java.lang.NumberFormatException: Zero length BigInteger > at java.math.BigInteger.<init>(BigInteger.java:276) > at java.math.BigInteger.<init>(BigInteger.java:451) > at > org.apache.cassandra.dht.RandomPartitioner$1.fromString(RandomPartitioner.java:136) > at > org.apache.cassandra.thrift.CassandraServer.get_range_slices(CassandraServer.java:685) > at > org.apache.cassandra.thrift.Cassandra$Processor$get_range_slices.getResult(Cassandra.java:2944) > at > org.apache.cassandra.thrift.Cassandra$Processor$get_range_slices.getResult(Cassandra.java:2932) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) > at > org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:186) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > Maybe we are doing something wrong, but after the update we can not execute > any hadoop jobs which reads from cassandra via ColumnFamilyInputFormat in > combination with OrderPreservingPartitioner. > Thanks in advance. > Ciao Bert -- 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