[
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)