Before you dig into that, are you sure normal Thrift inserts are not fast enough?
On Thu, Nov 11, 2010 at 4:41 PM, Aditya Muralidharan <aditya.muralidha...@nisc.coop> wrote: > Pretty sure I could ask that better: > > > > Is it possible for me to perform RowMutations on BinaryMemtable for a > ColumnFamily of type Super? > > > > The bmt_example seems to say that it’s possible, but cassandra 0.7 b3 seems > to disagree with the following: > > > > ERROR [MutationStage:38] 2010-11-11 13:47:37,383 > DebuggableThreadPoolExecutor.java (line 103) Error in ThreadPoolExecutor > > java.lang.RuntimeException: java.lang.UnsupportedOperationException: This > operation is not supported for Super Columns. > > at > org.apache.cassandra.db.BinaryVerbHandler.doVerb(BinaryVerbHandler.java:54) > > at > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) > > 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:619) > > Caused by: java.lang.UnsupportedOperationException: This operation is not > supported for Super Columns. > > at org.apache.cassandra.db.SuperColumn.value(SuperColumn.java:158) > > at org.apache.cassandra.db.Table.load(Table.java:640) > > at > org.apache.cassandra.db.RowMutation.applyBinary(RowMutation.java:206) > > at > org.apache.cassandra.db.BinaryVerbHandler.doVerb(BinaryVerbHandler.java:44) > > > > The code in the bmt_example serializes the CF for the super columns and sets > that as column data (made me scratch my head) on a different CF for the > RowMutation. Attempting that causes the following exception: > > > > Caused by: java.io.IOException: Invalid localDeleteTime read: 0 > > at > org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:334) > > at > org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:291) > > at > org.apache.cassandra.db.ColumnFamilySerializer.deserializeColumns(ColumnFamilySerializer.java:129) > > at > org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:120) > > at > org.apache.cassandra.db.RowMutationSerializer.defreezeTheMaps(RowMutation.java:368) > > at > org.apache.cassandra.db.RowMutationSerializer.deserialize(RowMutation.java:378) > > at > org.apache.cassandra.db.RowMutationSerializer.deserialize(RowMutation.java:336) > > at > org.apache.cassandra.db.RowMutationMessageSerializer.deserialize(RowMutationMessage.java:84) > > at > org.apache.cassandra.db.BinaryVerbHandler.doVerb(BinaryVerbHandler.java:42) > > > > … which is basically because the CFSerializer is (rightly) expecting to > deserialize a super column though the bmt_example serialized a Standard CF. > > > > Any help on BMT with supercolumns would be appreciated. > > > > Thanks. > > > > AD > > > > > > From: Aditya Muralidharan [mailto:aditya.muralidha...@nisc.coop] > Sent: Thursday, November 11, 2010 3:27 PM > To: user@cassandra.apache.org > Subject: Cassandra 0.7 beta3 BinaryMemtable and Supercolumns > > > > Is it possible for BinaryMemtable RowMutations to a ColumnFamily with > supercolumns? -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of Riptano, the source for professional Cassandra support http://riptano.com