cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philo Yang (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-8013) AssertionError on RangeTombstoneList.diff
Date Tue, 30 Sep 2014 19:01:34 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-8013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14153553#comment-14153553
] 

Philo Yang edited comment on CASSANDRA-8013 at 9/30/14 7:00 PM:
----------------------------------------------------------------

I think the problem is we needn't the assertion in RangeTombstoneList.diff at all. It seems
like to ensure the size of RangeTombstoneList of subset CF is not larger than the superset's.
However, the RangeTombstoneList of superset may be merge to be a smaller list if some RangeTombstones
are covered by a newer RangeTombstone with a large range.

The test case of the patch file I uploaded shows if we assert the size, the test will be fail
because of the assertion. After removing the assertion, the test will pass.


was (Author: yangzhe1991):
I think the problem is we needn't the assertion in RangeTombstoneList.diff at all. It seems
like to ensure the size of RangeTombstoneList of subset CF is not larger than the superset's.
However, the RangeTombstoneList of superset may be merge to be a smaller list because of some
RangeTombstones are covered by a new one RangeTombstone with a large range.

The test case of the patch file I uploaded shows if we assert the size, the test will be fail
because of the assertion. After removing the assertion, the test will pass.

> AssertionError on RangeTombstoneList.diff
> -----------------------------------------
>
>                 Key: CASSANDRA-8013
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8013
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Philo Yang
>             Fix For: 2.1.1
>
>         Attachments: 8013.patch
>
>
> after upgrading to 2.1.0, I found there are many exceptions in system.log. It appears
in nodes upgraded from 2.0 as well as in nodes newly add at 2.1.0
>  
> {noformat}
> ERROR [SharedPool-Worker-8] 2014-09-27 16:44:50,188 ErrorMessage.java:218 - Unexpected
exception during request
> java.lang.AssertionError: null
> 	at org.apache.cassandra.db.RangeTombstoneList.diff(RangeTombstoneList.java:424) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.db.DeletionInfo.diff(DeletionInfo.java:189) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.db.ColumnFamily.diff(ColumnFamily.java:311) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.db.ColumnFamily.diff(ColumnFamily.java:394) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.service.RowDataResolver.scheduleRepairs(RowDataResolver.java:114)
~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.service.RowDataResolver.resolve(RowDataResolver.java:91) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.service.RowDataResolver.resolve(RowDataResolver.java:37) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.service.ReadCallback.get(ReadCallback.java:110) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:1300) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:1153) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.service.pager.SliceQueryPager.queryNextPage(SliceQueryPager.java:83)
~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:88)
~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.service.pager.SliceQueryPager.fetchPage(SliceQueryPager.java:36)
~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:224)
~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:60)
~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:187)
~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:206) ~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:118)
~[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:422)
[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:318)
[apache-cassandra-2.1.0.jar:2.1.0]
> 	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
> 	at io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:31)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
> 	at io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:323)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_51]
> 	at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163)
[apache-cassandra-2.1.0.jar:2.1.0]
> 	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) [apache-cassandra-2.1.0.jar:2.1.0]
> 	at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message