cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aditya Muralidharan <Aditya.Muralidha...@nisc.coop>
Subject RE: Cassandra 0.7 beta3 BinaryMemtable and Supercolumns
Date Thu, 11 Nov 2010 22:41:19 GMT
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.Muralidharan@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?

Mime
View raw message