[
https://issues.apache.org/jira/browse/CASSANDRA-13236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15997710#comment-15997710
]
Sam Tunnicliffe edited comment on CASSANDRA-13236 at 5/5/17 6:01 PM:
---------------------------------------------------------------------
The error is being thrown when the coordinator deserialises the response from a
replica (which may actually be itself) that is reading an old format sstable.
The bug is in the serialisation of the replica response which does a double
read of the static row, first as the static row, then incorrectly as the
partition's regular row. This only affects tables with column indexes, so
doesn't repro with narrow partitions. With support for pre-3.0 sstables going
away in 4.0, the problem only affects 3.0 & 3.x.
I've pushed 3.0 & 3.11 branches and added a dtest to catch this scenario
[here|https://github.com/riptano/cassandra-dtest/pull/1469], but I need to get
up to speed on the new CI workflows, especially running dtests with custom a
repo/branch
||branch||
|[13236-3.0|https://github.com/beobal/cassandra/tree/13236-3.0]|
|[13236-3.11|https://github.com/beobal/cassandra/tree/13236-3.11]|
was (Author: beobal):
The error is being thrown when the coordinator deserialises the response from a
replica (which may actually be itself) that is reading an upgraded sstable. The
bug is in the serialisation of the replica response which does a double read of
the static row, first as the static row, then incorrectly as the partition's
regular row. This only affects tables with column indexes, so doesn't repro
with narrow partitions. With support for pre-3.0 sstables going away in 4.0,
the problem only affects 3.0 & 3.x.
I've pushed 3.0 & 3.11 branches and added a dtest to catch this scenario
[here|https://github.com/riptano/cassandra-dtest/pull/1469], but I need to get
up to speed on the new CI workflows, especially running dtests with custom a
repo/branch
||branch||
|[13236-3.0|https://github.com/beobal/cassandra/tree/13236-3.0]|
|[13236-3.11|https://github.com/beobal/cassandra/tree/13236-3.11]|
> corrupt flag error after upgrade from 2.2 to 3.0.10
> ---------------------------------------------------
>
> Key: CASSANDRA-13236
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13236
> Project: Cassandra
> Issue Type: Bug
> Environment: cassandra 3.0.10
> Reporter: ingard mevåg
> Assignee: Sam Tunnicliffe
> Priority: Critical
> Fix For: 3.0.x, 3.11.x
>
>
> After upgrade from 2.2.5 to 3.0.9/10 we're getting a bunch of errors like
> this:
> {code}
> ERROR [SharedPool-Worker-1] 2017-02-17 12:58:43,859 Message.java:617 -
> Unexpected exception during request; channel = [id: 0xa8b98684,
> /10.0.70.104:56814 => /10.0.80.24:9042]
> java.io.IOError: java.io.IOException: Corrupt flags value for unfiltered
> partition (isStatic flag set): 160
> at
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:222)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:210)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:129)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.cql3.statements.SelectStatement.processPartition(SelectStatement.java:749)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:711)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:400)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:265)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:224)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:76)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:206)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:487)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:464)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:130)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:513)
> [apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:407)
> [apache-cassandra-3.0.10.jar:3.0.10]
> at
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
> [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
> [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.access$700(AbstractChannelHandlerContext.java:32)
> [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
> [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [na:1.8.0_72]
> at
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
> [apache-cassandra-3.0.10.jar:3.0.10]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
> [apache-cassandra-3.0.10.jar:3.0.10]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72]
> Caused by: java.io.IOException: Corrupt flags value for unfiltered partition
> (isStatic flag set): 160
> at
> org.apache.cassandra.db.rows.UnfilteredSerializer.deserialize(UnfilteredSerializer.java:374)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer$1.computeNext(UnfilteredRowIteratorSerializer.java:217)
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> ... 23 common frames omitted
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]