Can you reproduce this in a simple way ? Cheers
----------------- Aaron Morton Freelance Cassandra Consultant New Zealand @aaronmorton http://www.thelastpickle.com On 18/04/2013, at 5:50 AM, Lanny Ripple <la...@spotright.com> wrote: > That was our first thought. Using maven's dependency tree info we verified > that we're using the expected (cass 1.2.3) jars > > $ mvn dependency:tree | grep thrift > [INFO] | +- org.apache.thrift:libthrift:jar:0.7.0:compile > [INFO] | \- org.apache.cassandra:cassandra-thrift:jar:1.2.3:compile > > I've also dumped the final command run by the hadoop we use (CDH3u5) and > verified it's not sneaking thrift in on us. > > > On Tue, Apr 16, 2013 at 4:36 PM, aaron morton <aa...@thelastpickle.com> wrote: > Can you confirm the you are using the same thrift version that ships 1.2.3 ? > > Cheers > > ----------------- > Aaron Morton > Freelance Cassandra Consultant > New Zealand > > @aaronmorton > http://www.thelastpickle.com > > On 16/04/2013, at 10:17 AM, Lanny Ripple <la...@spotright.com> wrote: > >> A bump to say I found this >> >> >> http://stackoverflow.com/questions/15487540/pig-cassandra-message-length-exceeded >> >> so others are seeing similar behavior. >> >> From what I can see of org.apache.cassandra.hadoop nothing has changed since >> 1.1.5 when we didn't see such things but sure looks like there's a bug >> that's slipped in (or been uncovered) somewhere. I'll try to narrow down to >> a dataset and code that can reproduce. >> >> On Apr 10, 2013, at 6:29 PM, Lanny Ripple <la...@spotright.com> wrote: >> >>> We are using Astyanax in production but I cut back to just Hadoop and >>> Cassandra to confirm it's a Cassandra (or our use of Cassandra) problem. >>> >>> We do have some extremely large rows but we went from everything working >>> with 1.1.5 to almost everything carping with 1.2.3. Something has changed. >>> Perhaps we were doing something wrong earlier that 1.2.3 exposed but >>> surprises are never welcome in production. >>> >>> On Apr 10, 2013, at 8:10 AM, <moshe.kr...@barclays.com> wrote: >>> >>>> I also saw this when upgrading from C* 1.0 to 1.2.2, and from hector 0.6 >>>> to 0.8 >>>> Turns out the Thrift message really was too long. >>>> The mystery to me: Why no complaints in previous versions? Were some >>>> checks added in Thrift or Hector? >>>> >>>> -----Original Message----- >>>> From: Lanny Ripple [mailto:la...@spotright.com] >>>> Sent: Tuesday, April 09, 2013 6:17 PM >>>> To: user@cassandra.apache.org >>>> Subject: Thrift message length exceeded >>>> >>>> Hello, >>>> >>>> We have recently upgraded to Cass 1.2.3 from Cass 1.1.5. We ran >>>> sstableupgrades and got the ring on its feet and we are now seeing a new >>>> issue. >>>> >>>> When we run MapReduce jobs against practically any table we find the >>>> following errors: >>>> >>>> 2013-04-09 09:58:47,746 INFO org.apache.hadoop.util.NativeCodeLoader: >>>> Loaded the native-hadoop library >>>> 2013-04-09 09:58:47,899 INFO org.apache.hadoop.metrics.jvm.JvmMetrics: >>>> Initializing JVM Metrics with processName=MAP, sessionId= >>>> 2013-04-09 09:58:48,021 INFO org.apache.hadoop.util.ProcessTree: setsid >>>> exited with exit code 0 >>>> 2013-04-09 09:58:48,024 INFO org.apache.hadoop.mapred.Task: Using >>>> ResourceCalculatorPlugin : >>>> org.apache.hadoop.util.LinuxResourceCalculatorPlugin@4a48edb5 >>>> 2013-04-09 09:58:50,475 INFO org.apache.hadoop.mapred.TaskLogsTruncater: >>>> Initializing logs' truncater with mapRetainSize=-1 and reduceRetainSize=-1 >>>> 2013-04-09 09:58:50,477 WARN org.apache.hadoop.mapred.Child: Error running >>>> child >>>> java.lang.RuntimeException: org.apache.thrift.TException: Message length >>>> exceeded: 106 >>>> at >>>> org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.maybeInit(ColumnFamilyRecordReader.java:384) >>>> at >>>> org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.computeNext(ColumnFamilyRecordReader.java:390) >>>> at >>>> org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.computeNext(ColumnFamilyRecordReader.java:313) >>>> at >>>> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) >>>> at >>>> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) >>>> at >>>> org.apache.cassandra.hadoop.ColumnFamilyRecordReader.getProgress(ColumnFamilyRecordReader.java:103) >>>> at >>>> org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.getProgress(MapTask.java:444) >>>> at >>>> org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:460) >>>> at >>>> org.apache.hadoop.mapreduce.MapContext.nextKeyValue(MapContext.java:67) >>>> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143) >>>> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:647) >>>> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323) >>>> at org.apache.hadoop.mapred.Child$4.run(Child.java:266) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at javax.security.auth.Subject.doAs(Subject.java:396) >>>> at >>>> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1278) >>>> at org.apache.hadoop.mapred.Child.main(Child.java:260) >>>> Caused by: org.apache.thrift.TException: Message length exceeded: 106 >>>> at >>>> org.apache.thrift.protocol.TBinaryProtocol.checkReadLength(TBinaryProtocol.java:393) >>>> at >>>> org.apache.thrift.protocol.TBinaryProtocol.readBinary(TBinaryProtocol.java:363) >>>> at org.apache.cassandra.thrift.Column.read(Column.java:528) >>>> at >>>> org.apache.cassandra.thrift.ColumnOrSuperColumn.read(ColumnOrSuperColumn.java:507) >>>> at org.apache.cassandra.thrift.KeySlice.read(KeySlice.java:408) >>>> at >>>> org.apache.cassandra.thrift.Cassandra$get_range_slices_result.read(Cassandra.java:12905) >>>> at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) >>>> at >>>> org.apache.cassandra.thrift.Cassandra$Client.recv_get_range_slices(Cassandra.java:734) >>>> at >>>> org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:718) >>>> at >>>> org.apache.cassandra.hadoop.ColumnFamilyRecordReader$StaticRowIterator.maybeInit(ColumnFamilyRecordReader.java:346) >>>> ... 16 more >>>> 2013-04-09 09:58:50,481 INFO org.apache.hadoop.mapred.Task: Runnning >>>> cleanup for the task >>>> >>>> The message length listed on each failed job differs (not always 106). >>>> Jobs that used to run fine now fail with code compiled against cass 1.2.3 >>>> (and work fine if compiled against 1.1.5 and run against the 1.2.3 servers >>>> in production). I'm using the following setup to configure the job: >>>> >>>> def cassConfig(job: Job) { >>>> val conf = job.getConfiguration() >>>> >>>> ConfigHelper.setInputRpcPort(conf, "" + 9160) >>>> ConfigHelper.setInputInitialAddress(conf, Config.hostip) >>>> >>>> ConfigHelper.setInputPartitioner(conf, >>>> "org.apache.cassandra.dht.RandomPartitioner") >>>> ConfigHelper.setInputColumnFamily(conf, Config.keyspace, Config.cfname) >>>> >>>> val pred = { >>>> val range = new SliceRange() >>>> .setStart("".getBytes("UTF-8")) >>>> .setFinish("".getBytes("UTF-8")) >>>> .setReversed(false) >>>> .setCount(4096 * 1000) >>>> >>>> new SlicePredicate().setSlice_range(range) >>>> } >>>> >>>> ConfigHelper.setInputSlicePredicate(conf, pred) >>>> } >>>> >>>> The job consists only of a mapper that increments counters for each row >>>> and associated columns so all I'm really doing is exercising >>>> ColumnFamilyRecordReader. >>>> >>>> Has anyone else seen this? Is there a workaround/fix to get our jobs >>>> running? >>>> >>>> Thanks >>>> _______________________________________________ >>>> >>>> This message may contain information that is confidential or privileged. >>>> If you are not an intended recipient of this message, please delete it and >>>> any attachments, and notify the sender that you have received it in error. >>>> Unless specifically stated in the message or otherwise indicated, you may >>>> not duplicate, redistribute or forward this message or any portion >>>> thereof, including any attachments, by any means to any other person, >>>> including any retail investor or customer. This message is not a >>>> recommendation, advice, offer or solicitation, to buy/sell any product or >>>> service, and is not an official confirmation of any transaction. Any >>>> opinions presented are solely those of the author and do not necessarily >>>> represent those of Barclays. >>>> >>>> This message is subject to terms available at: >>>> www.barclays.com/emaildisclaimer and, if received from Barclays' Sales or >>>> Trading desk, the terms available at: >>>> www.barclays.com/salesandtradingdisclaimer/. By messaging with Barclays >>>> you consent to the foregoing. Barclays Bank PLC is a company registered in >>>> England (number 1026167) with its registered office at 1 Churchill Place, >>>> London, E14 5HP. This email may relate to or be sent from other members of >>>> the Barclays group. >>>> >>>> _______________________________________________ >>> >> > >