You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Matthew F. Dennis (JIRA)" <ji...@apache.org> on 2010/06/01 20:41:39 UTC

[jira] Updated: (CASSANDRA-1139) batch_mutate Deletion with column family type mismatch causes RuntimeException

     [ https://issues.apache.org/jira/browse/CASSANDRA-1139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthew F. Dennis updated CASSANDRA-1139:
-----------------------------------------

    Attachment: CASSANDRA-1139.patch

> batch_mutate Deletion with column family type mismatch causes RuntimeException
> ------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-1139
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1139
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.6
>         Environment: Linux & Python 2.6
>            Reporter: tholzer
>            Assignee: Matthew F. Dennis
>            Priority: Minor
>             Fix For: 0.6.3
>
>         Attachments: CASSANDRA-1139.patch
>
>
> When specifying a super column family name inside a Deletion and a standard column family name in the mutations dictionary, we get a RuntimeException in the server and a TimedOutException on the client:
> {noformat}
> ERROR 14:22:29,757 Error in ThreadPoolExecutor
> java.lang.RuntimeException: java.lang.UnsupportedOperationException: This operation is not supported for Super Columns.
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:34)
>         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.timestamp(SuperColumn.java:137)
>         at org.apache.cassandra.db.ColumnSerializer.serialize(ColumnSerializer.java:65)
>         at org.apache.cassandra.db.ColumnSerializer.serialize(ColumnSerializer.java:29)
>         at org.apache.cassandra.db.ColumnFamilySerializer.serializeForSSTable(ColumnFamilySerializer.java:87)
>         at org.apache.cassandra.db.ColumnFamilySerializer.serialize(ColumnFamilySerializer.java:73)
>         at org.apache.cassandra.db.RowMutationSerializer.freezeTheMaps(RowMutation.java:337)
>         at org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:349)
>         at org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:322)
>         at org.apache.cassandra.db.RowMutation.getSerializedBuffer(RowMutation.java:275)
>         at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:200)
>         at org.apache.cassandra.service.StorageProxy$3.runMayThrow(StorageProxy.java:310)
>         at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>         ... 3 more
> ERROR 14:22:29,757 Fatal exception in thread Thread[ROW-MUTATION-STAGE:39,5,main]
> {noformat}
> {noformat}
> Traceback (most recent call last):
>   File "./test.py", line 15, in <module>
>     client.batch_mutate("Keyspace1", mutations, ConsistencyLevel.QUORUM)
>   File "cassandra/Cassandra.py", line 771, in batch_mutate
>     self.recv_batch_mutate()
>   File "cassandra/Cassandra.py", line 798, in recv_batch_mutate
>     raise result.te
> cassandra.ttypes.TimedOutException: TimedOutException()
> {noformat}
> To reproduce:
> {noformat}
> from thrift.transport.TSocket import TSocket
> from thrift.protocol.TBinaryProtocol import TBinaryProtocol
> from cassandra.Cassandra import Client
> from cassandra.ttypes import Deletion, Mutation, ConsistencyLevel
> if __name__ == "__main__":
>     tsocket = TSocket('localhost', 9160)
>     tsocket.open()
>     tprotocol = TBinaryProtocol(tsocket)
>     client = Client(tprotocol)
>     deletion = Deletion(1, 'supercolumn', None)
>     mutation = Mutation(deletion=deletion)
>     mutations = { 'key' : { 'Standard1' : [ mutation ] } }
>     client.batch_mutate("Keyspace1", mutations, ConsistencyLevel.QUORUM)
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.