You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Michal Augustýn <au...@gmail.com> on 2010/12/15 18:03:28 UTC

remove column from all super-columns failed

Helllo,

I want to remove one column from all super columns in one row (for one key)
(via Thrift, Cassandra 0.7) but I got exception (see below).
I just call "remove" method where ColumnPath structure has "column_family"
and "column" members set ("super_column" not set).

ERROR 17:57:46,924 Error in ThreadPoolExecutor
java.lang.RuntimeException: java.lang.ClassCastException:
org.apache.cassandra.db.DeletedColumn cannot be cast to
org.apache.cassandra.db.SuperColumn
        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.ClassCastException:
org.apache.cassandra.db.DeletedColumn cannot be cast to
org.apache.cassandra.db.SuperColumn
        at
org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:318)
        at
org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:298)
        at
org.apache.cassandra.db.ColumnFamilySerializer.serializeForSSTable(ColumnFamilySerializer.java:82)
        at
org.apache.cassandra.db.ColumnFamilySerializer.serialize(ColumnFamilySerializer.java:68)
        at
org.apache.cassandra.db.RowMutationSerializer.freezeTheMaps(RowMutation.java:344)
        at
org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:355)
        at
org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:333)
        at
org.apache.cassandra.db.RowMutation.getSerializedBuffer(RowMutation.java:269)
        at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:194)
        at
org.apache.cassandra.service.StorageProxy$1.runMayThrow(StorageProxy.java:197)
        at
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
        ... 3 more
ERROR 17:57:46,928 Fatal exception in thread Thread[MUTATION_STAGE:2,5,main]
java.lang.RuntimeException: java.lang.ClassCastException:
org.apache.cassandra.db.DeletedColumn cannot be cast to
org.apache.cassandra.db.SuperColumn
        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.ClassCastException:
org.apache.cassandra.db.DeletedColumn cannot be cast to
org.apache.cassandra.db.SuperColumn
        at
org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:318)
        at
org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:298)
        at
org.apache.cassandra.db.ColumnFamilySerializer.serializeForSSTable(ColumnFamilySerializer.java:82)
        at
org.apache.cassandra.db.ColumnFamilySerializer.serialize(ColumnFamilySerializer.java:68)
        at
org.apache.cassandra.db.RowMutationSerializer.freezeTheMaps(RowMutation.java:344)
        at
org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:355)
        at
org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:333)
        at
org.apache.cassandra.db.RowMutation.getSerializedBuffer(RowMutation.java:269)
        at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:194)
        at
org.apache.cassandra.service.StorageProxy$1.runMayThrow(StorageProxy.java:197)
        at
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
        ... 3 more

Thank you!

Augi

Re: remove column from all super-columns failed

Posted by Jonathan Ellis <jb...@gmail.com>.
Created https://issues.apache.org/jira/browse/CASSANDRA-1866 to turn this
into an InvalidRequestException.

On Wed, Dec 15, 2010 at 11:47 AM, Jonathan Ellis <jb...@gmail.com> wrote:

> The API does not support this.  You can remove a column from a supercolumn,
> or a supercolumn from a row; if you wan tto remove a column from each
> supercolumn, you'll need to slice out the supercolumns, then create a batch
> of remove-subcolumn operations.
>
>
-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

Re: remove column from all super-columns failed

Posted by Jonathan Ellis <jb...@gmail.com>.
The API does not support this.  You can remove a column from a supercolumn,
or a supercolumn from a row; if you wan tto remove a column from each
supercolumn, you'll need to slice out the supercolumns, then create a batch
of remove-subcolumn operations.

On Wed, Dec 15, 2010 at 11:03 AM, Michal Augustýn <augustyn.michal@gmail.com
> wrote:

> Helllo,
>
> I want to remove one column from all super columns in one row (for one key)
> (via Thrift, Cassandra 0.7) but I got exception (see below).
> I just call "remove" method where ColumnPath structure has "column_family"
> and "column" members set ("super_column" not set).
>
> ERROR 17:57:46,924 Error in ThreadPoolExecutor
> java.lang.RuntimeException: java.lang.ClassCastException:
> org.apache.cassandra.db.DeletedColumn cannot be cast to
> org.apache.cassandra.db.SuperColumn
>         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.ClassCastException:
> org.apache.cassandra.db.DeletedColumn cannot be cast to
> org.apache.cassandra.db.SuperColumn
>         at
> org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:318)
>         at
> org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:298)
>         at
> org.apache.cassandra.db.ColumnFamilySerializer.serializeForSSTable(ColumnFamilySerializer.java:82)
>         at
> org.apache.cassandra.db.ColumnFamilySerializer.serialize(ColumnFamilySerializer.java:68)
>         at
> org.apache.cassandra.db.RowMutationSerializer.freezeTheMaps(RowMutation.java:344)
>         at
> org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:355)
>         at
> org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:333)
>         at
> org.apache.cassandra.db.RowMutation.getSerializedBuffer(RowMutation.java:269)
>         at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:194)
>         at
> org.apache.cassandra.service.StorageProxy$1.runMayThrow(StorageProxy.java:197)
>         at
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>         ... 3 more
> ERROR 17:57:46,928 Fatal exception in thread
> Thread[MUTATION_STAGE:2,5,main]
> java.lang.RuntimeException: java.lang.ClassCastException:
> org.apache.cassandra.db.DeletedColumn cannot be cast to
> org.apache.cassandra.db.SuperColumn
>         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.ClassCastException:
> org.apache.cassandra.db.DeletedColumn cannot be cast to
> org.apache.cassandra.db.SuperColumn
>         at
> org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:318)
>         at
> org.apache.cassandra.db.SuperColumnSerializer.serialize(SuperColumn.java:298)
>         at
> org.apache.cassandra.db.ColumnFamilySerializer.serializeForSSTable(ColumnFamilySerializer.java:82)
>         at
> org.apache.cassandra.db.ColumnFamilySerializer.serialize(ColumnFamilySerializer.java:68)
>         at
> org.apache.cassandra.db.RowMutationSerializer.freezeTheMaps(RowMutation.java:344)
>         at
> org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:355)
>         at
> org.apache.cassandra.db.RowMutationSerializer.serialize(RowMutation.java:333)
>         at
> org.apache.cassandra.db.RowMutation.getSerializedBuffer(RowMutation.java:269)
>         at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:194)
>         at
> org.apache.cassandra.service.StorageProxy$1.runMayThrow(StorageProxy.java:197)
>         at
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>         ... 3 more
>
> Thank you!
>
> Augi
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com