You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Jim Ancona <ji...@anconafamily.com> on 2011/06/23 19:46:34 UTC

UnsupportedOperationException: Index manager cannot support deleting and inserting into a row in the same mutation

Since upgrading to 0.7.6-2 I'm seeing the following exception in our
server logs:

ERROR [MutationStage:1184874] 2011-06-22 23:59:43,867
AbstractCassandraDaemon.java (line 114) Fatal exception in thread
Thread[MutationStage:1184874,5,main]
java.lang.UnsupportedOperationException: Index manager cannot support
deleting and inserting into a row in the same mutation
   at org.apache.cassandra.db.Table.ignoreObsoleteMutations(Table.java:431)
   at org.apache.cassandra.db.Table.apply(Table.java:387)
   at org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:75)
   at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:72)
   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)

I see that the code that throws this exception was added as part of
the fix for https://issues.apache.org/jira/browse/CASSANDRA-2401

We do have clients that do deletes and inserts in the same mutation
(probably unnecessarily), but is this really something that is not
supported? Or is there some other issue behind this?

Thanks,

Jim

Re: UnsupportedOperationException: Index manager cannot support deleting and inserting into a row in the same mutation

Posted by Nick Bailey <ni...@datastax.com>.
Correct, this happens when the timestamp of the delete occurs after
the timestamp of the column update.

On Fri, Jun 24, 2011 at 5:40 AM, David Boxenhorn <da...@citypath.com> wrote:
> "it can cause index corruption IF the row delete timestamp is higher
> than the column update's."
>
> By "higher" you mean later, i.e. some modifications to a row, then delete?
>
> I have not seen this error in our logs, but it could happen. I have a
> process where I insert historical data into Cassandra, in batches.
> Modifying something, then deleting it is a normal scenario.
>
> On Fri, Jun 24, 2011 at 12:41 AM, Jim Ancona <ji...@anconafamily.com> wrote:
>> I've reopened the issue. On our 0.7.6-2 cluster, system.log is filling
>> with repeated instances of the UnsupportedOperationException. When
>> we've attempted to restart a node, the restart fails with the same
>> exception. Luckily we found this as part of our pre-deploy testing of
>> 0.7.6, not in production, but this is not "mostly a non-problem" here.
>>
>> Jim
>>
>> On Thu, Jun 23, 2011 at 3:25 PM, Jonathan Ellis <jb...@gmail.com> wrote:
>>> The patch probably applies as-is but I don't want to take any risks
>>> with 0.7 to solve what is mostly a non-problem.
>>>
>>> On Thu, Jun 23, 2011 at 2:16 PM, Jim Ancona <ji...@anconafamily.com> wrote:
>>>> Is there any reason this fix can't be back-ported to 0.7?
>>>>
>>>> Jim
>>>>
>>>> On Thu, Jun 23, 2011 at 3:00 PM, Jonathan Ellis <jb...@gmail.com> wrote:
>>>>> Sorry, 0.8.2 is correct.
>>>>>
>>>>> On Thu, Jun 23, 2011 at 1:36 PM, Les Hazlewood <le...@katasoft.com> wrote:
>>>>>> The issue has the fix version as 0.8.2, not 0.7.7.  Is that incorrect?
>>>>>> Cheers,
>>>>>> Les
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Jonathan Ellis
>>>>> Project Chair, Apache Cassandra
>>>>> co-founder of DataStax, the source for professional Cassandra support
>>>>> http://www.datastax.com
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Jonathan Ellis
>>> Project Chair, Apache Cassandra
>>> co-founder of DataStax, the source for professional Cassandra support
>>> http://www.datastax.com
>>>
>>
>

Re: UnsupportedOperationException: Index manager cannot support deleting and inserting into a row in the same mutation

Posted by David Boxenhorn <da...@citypath.com>.
"it can cause index corruption IF the row delete timestamp is higher
than the column update's."

By "higher" you mean later, i.e. some modifications to a row, then delete?

I have not seen this error in our logs, but it could happen. I have a
process where I insert historical data into Cassandra, in batches.
Modifying something, then deleting it is a normal scenario.

On Fri, Jun 24, 2011 at 12:41 AM, Jim Ancona <ji...@anconafamily.com> wrote:
> I've reopened the issue. On our 0.7.6-2 cluster, system.log is filling
> with repeated instances of the UnsupportedOperationException. When
> we've attempted to restart a node, the restart fails with the same
> exception. Luckily we found this as part of our pre-deploy testing of
> 0.7.6, not in production, but this is not "mostly a non-problem" here.
>
> Jim
>
> On Thu, Jun 23, 2011 at 3:25 PM, Jonathan Ellis <jb...@gmail.com> wrote:
>> The patch probably applies as-is but I don't want to take any risks
>> with 0.7 to solve what is mostly a non-problem.
>>
>> On Thu, Jun 23, 2011 at 2:16 PM, Jim Ancona <ji...@anconafamily.com> wrote:
>>> Is there any reason this fix can't be back-ported to 0.7?
>>>
>>> Jim
>>>
>>> On Thu, Jun 23, 2011 at 3:00 PM, Jonathan Ellis <jb...@gmail.com> wrote:
>>>> Sorry, 0.8.2 is correct.
>>>>
>>>> On Thu, Jun 23, 2011 at 1:36 PM, Les Hazlewood <le...@katasoft.com> wrote:
>>>>> The issue has the fix version as 0.8.2, not 0.7.7.  Is that incorrect?
>>>>> Cheers,
>>>>> Les
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Jonathan Ellis
>>>> Project Chair, Apache Cassandra
>>>> co-founder of DataStax, the source for professional Cassandra support
>>>> http://www.datastax.com
>>>>
>>>
>>
>>
>>
>> --
>> Jonathan Ellis
>> Project Chair, Apache Cassandra
>> co-founder of DataStax, the source for professional Cassandra support
>> http://www.datastax.com
>>
>

Re: UnsupportedOperationException: Index manager cannot support deleting and inserting into a row in the same mutation

Posted by Jim Ancona <ji...@anconafamily.com>.
I've reopened the issue. On our 0.7.6-2 cluster, system.log is filling
with repeated instances of the UnsupportedOperationException. When
we've attempted to restart a node, the restart fails with the same
exception. Luckily we found this as part of our pre-deploy testing of
0.7.6, not in production, but this is not "mostly a non-problem" here.

Jim

On Thu, Jun 23, 2011 at 3:25 PM, Jonathan Ellis <jb...@gmail.com> wrote:
> The patch probably applies as-is but I don't want to take any risks
> with 0.7 to solve what is mostly a non-problem.
>
> On Thu, Jun 23, 2011 at 2:16 PM, Jim Ancona <ji...@anconafamily.com> wrote:
>> Is there any reason this fix can't be back-ported to 0.7?
>>
>> Jim
>>
>> On Thu, Jun 23, 2011 at 3:00 PM, Jonathan Ellis <jb...@gmail.com> wrote:
>>> Sorry, 0.8.2 is correct.
>>>
>>> On Thu, Jun 23, 2011 at 1:36 PM, Les Hazlewood <le...@katasoft.com> wrote:
>>>> The issue has the fix version as 0.8.2, not 0.7.7.  Is that incorrect?
>>>> Cheers,
>>>> Les
>>>>
>>>
>>>
>>>
>>> --
>>> Jonathan Ellis
>>> Project Chair, Apache Cassandra
>>> co-founder of DataStax, the source for professional Cassandra support
>>> http://www.datastax.com
>>>
>>
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of DataStax, the source for professional Cassandra support
> http://www.datastax.com
>

Re: UnsupportedOperationException: Index manager cannot support deleting and inserting into a row in the same mutation

Posted by Jonathan Ellis <jb...@gmail.com>.
The patch probably applies as-is but I don't want to take any risks
with 0.7 to solve what is mostly a non-problem.

On Thu, Jun 23, 2011 at 2:16 PM, Jim Ancona <ji...@anconafamily.com> wrote:
> Is there any reason this fix can't be back-ported to 0.7?
>
> Jim
>
> On Thu, Jun 23, 2011 at 3:00 PM, Jonathan Ellis <jb...@gmail.com> wrote:
>> Sorry, 0.8.2 is correct.
>>
>> On Thu, Jun 23, 2011 at 1:36 PM, Les Hazlewood <le...@katasoft.com> wrote:
>>> The issue has the fix version as 0.8.2, not 0.7.7.  Is that incorrect?
>>> Cheers,
>>> Les
>>>
>>
>>
>>
>> --
>> Jonathan Ellis
>> Project Chair, Apache Cassandra
>> co-founder of DataStax, the source for professional Cassandra support
>> http://www.datastax.com
>>
>



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

Re: UnsupportedOperationException: Index manager cannot support deleting and inserting into a row in the same mutation

Posted by Jim Ancona <ji...@anconafamily.com>.
Is there any reason this fix can't be back-ported to 0.7?

Jim

On Thu, Jun 23, 2011 at 3:00 PM, Jonathan Ellis <jb...@gmail.com> wrote:
> Sorry, 0.8.2 is correct.
>
> On Thu, Jun 23, 2011 at 1:36 PM, Les Hazlewood <le...@katasoft.com> wrote:
>> The issue has the fix version as 0.8.2, not 0.7.7.  Is that incorrect?
>> Cheers,
>> Les
>>
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of DataStax, the source for professional Cassandra support
> http://www.datastax.com
>

Re: UnsupportedOperationException: Index manager cannot support deleting and inserting into a row in the same mutation

Posted by Jonathan Ellis <jb...@gmail.com>.
Sorry, 0.8.2 is correct.

On Thu, Jun 23, 2011 at 1:36 PM, Les Hazlewood <le...@katasoft.com> wrote:
> The issue has the fix version as 0.8.2, not 0.7.7.  Is that incorrect?
> Cheers,
> Les
>



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

Re: UnsupportedOperationException: Index manager cannot support deleting and inserting into a row in the same mutation

Posted by Les Hazlewood <le...@katasoft.com>.
The issue has the fix version as 0.8.2, not 0.7.7.  Is that incorrect?

Cheers,

Les

Re: UnsupportedOperationException: Index manager cannot support deleting and inserting into a row in the same mutation

Posted by Jonathan Ellis <jb...@gmail.com>.
It's really not supported in <= 0.7.6; it can cause index corruption
IF the row delete timestamp is higher than the column update's.

This is fixed for 0.7.7 in https://issues.apache.org/jira/browse/CASSANDRA-2773

On Thu, Jun 23, 2011 at 12:46 PM, Jim Ancona <ji...@anconafamily.com> wrote:
> Since upgrading to 0.7.6-2 I'm seeing the following exception in our
> server logs:
>
> ERROR [MutationStage:1184874] 2011-06-22 23:59:43,867
> AbstractCassandraDaemon.java (line 114) Fatal exception in thread
> Thread[MutationStage:1184874,5,main]
> java.lang.UnsupportedOperationException: Index manager cannot support
> deleting and inserting into a row in the same mutation
>   at org.apache.cassandra.db.Table.ignoreObsoleteMutations(Table.java:431)
>   at org.apache.cassandra.db.Table.apply(Table.java:387)
>   at org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:75)
>   at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:72)
>   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)
>
> I see that the code that throws this exception was added as part of
> the fix for https://issues.apache.org/jira/browse/CASSANDRA-2401
>
> We do have clients that do deletes and inserts in the same mutation
> (probably unnecessarily), but is this really something that is not
> supported? Or is there some other issue behind this?
>
> Thanks,
>
> Jim
>



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