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

Philo Yang updated CASSANDRA-8013:
----------------------------------
    Attachment: 8013.patch

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)

Reply via email to